package com.sinosoft.common.excel; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Vector; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.ProduceMime; import javax.ws.rs.core.Context; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import com.formaction.Parameter; import com.formaction.Utils; import com.formaction.vo.Msg; import com.persistence.DbConnection; import com.persistence.service.PersistenceFactory; import com.persistence.service.SysPersistence; import com.sinosoft.common.upLoad.service.UploadManageImpl; import com.sinosoft.lz.system.util.JsonUtil; import com.sysmodel.datamodel.xmlmodel.ModelFactory; import com.sysmodel.datamodel.xmlmodel.able.SysModel; /** * 读取Excel将数据返回到頁面 * * @author 彭志超 * */ @Path("/TeamerExcelToDBTableTool/") public class TeamerExcelToDBTableTool { private static final Logger log = Logger.getLogger(TeamerExcelToDBTableTool.class); @ProduceMime("text/html") @POST @Path("/importInTeamer") public String importInTeamer(@Context HttpServletRequest request, @Context HttpServletResponse response) throws Exception{//新增保存 UploadManageImpl upload2 = new UploadManageImpl(); String path = upload2.uploadFilePath(request, response); String result=""; log.info("saveFile.path===="+path); if("success".equals(path.split(";")[1])){ //将数据返回到界面 path=path.split(";")[2]; TeamerExcelToDBTableTool xte = new TeamerExcelToDBTableTool(); result=xte.readExcelByNameIn(path); }else{ //返回失败信息 result=""; } log.info("result======"+result); return result; } @ProduceMime("application/json") @POST @Path("/importOutTeamer") public String importOutTeamer(@Context HttpServletRequest request, @Context HttpServletResponse response) throws Exception{//新增保存 UploadManageImpl upload2 = new UploadManageImpl(); String path = upload2.uploadFilePath(request, response); String result=""; log.info("saveFile.path===="+path); if("success".equals(path.split(";")[1])){ //将数据返回到界面 path=path.split(";")[2]; TeamerExcelToDBTableTool xte = new TeamerExcelToDBTableTool(); result=xte.readExcelByNameOut(path); }else{ //返回失败信息 result=""; } return result; } /** * 内部队伍 * @param params * @return * @throws Exception */ @ProduceMime("application/json") @POST @Path("/getTeamerInExpertExcel") public String readExcelByNameIn(String fileName) throws Exception { TeamerExcelToDBTableTool tool = new TeamerExcelToDBTableTool(); // String fileName=Utils.getParameter("fileName", params) == null ? "" : Utils.getParameter( // "fileName", params); // String fileName="E:\\javaDemo\\person.xls"; int i=fileName.lastIndexOf("."); String type=fileName.substring(i+1); log.info("fileName===="+fileName); String result=""; if("xls".equals(type)){ result=tool.readExcelIn(fileName,"person"); }else if("xlsx".equals(type)){ result= tool.readExcel2007In(fileName,"person"); } result="{\"rows\":"+result+"}"; log.info(result); return result; } /** * 外部队伍 * @param params * @return * @throws Exception */ @ProduceMime("application/json") @POST @Path("/getTeamerOutExpertExcel") public String readExcelByNameOut(String fileName) throws Exception { TeamerExcelToDBTableTool tool = new TeamerExcelToDBTableTool(); // String fileName=Utils.getParameter("fileName", params) == null ? "" : Utils.getParameter( // "fileName", params); // String fileName="E:\\javaDemo\\person.xls"; int i=fileName.lastIndexOf("."); String type=fileName.substring(i+1); log.info("fileName===="+fileName); String result=""; if("xls".equals(type)){ result=tool.readExcelOut(fileName,"person"); }else if("xlsx".equals(type)){ result= tool.readExcel2007Out(fileName,"person"); } result="{\"rows\":"+result+"}"; log.info(result); return result; } // public void readExcel2007(DBModel dbConn, String filePath, String tableName) @SuppressWarnings({ "resource", "unused", "rawtypes", "unchecked" }) public String readExcel2007In( String filePath, String tableName) throws Exception { String result=""; try { // InputStream inp = new FileInputStream(filePath); // Workbook wb = WorkbookFactory.create(inp); XSSFWorkbook wb = new XSSFWorkbook(filePath); int sheetSize = wb.getNumberOfSheets(); // for (int i = 0; i < sheetSize; i++) { List list=new ArrayList(); XSSFSheet sheet = wb.getSheetAt(0); // Sheet sheet = wb.getSheetAt(i); for (Iterator rit = sheet.rowIterator(); rit.hasNext();) { // 迭代行 XSSFRow row = (XSSFRow) rit.next(); // 迭代单元格 Vector datas = new Vector(); StringBuffer sb=new StringBuffer(); MaplineMap=new HashMap(); for (Iterator cit = row.cellIterator(); cit.hasNext();) { // 定义集合datas用于存Excel中一个行的数据 XSSFCell cell = (XSSFCell) cit.next(); String value = getValue2007(cell); sb.append(value+"|"); // 注意行和列是基于0索引的 // System.out.print(cell.getRowIndex() + ":" + cell.getColumnIndex() + " "); datas.add(value); // System.out.println(); // 开始操作单元格 } String[] arr=sb.toString().split("[|]"); list.add(arr); // result = fillMap(list);; // 向表中插入数据 // DBFactory.insertData(dbConn, tableName, datas); } result = inFillMap(list); System.out.println(result); // } } catch (FileNotFoundException e) { e.printStackTrace(); throw e; } catch (IOException e) { e.printStackTrace(); throw e; } return result; } /** * 将Excel数据导入到表中 * * @param filePath * Excel路径 * @param tableName * 表名 */ // public void readExcel(DBModel dbConn, String filePath, String tableName) @SuppressWarnings({ "resource", "rawtypes", "deprecation", "unchecked" }) public String readExcelIn( String filePath, String tableName) throws Exception { String result=""; try { POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream( filePath)); // 创建工作簿 HSSFWorkbook workBook = new HSSFWorkbook(fs); log.info(workBook.getNumberOfSheets()); // System.out.println("工作表个数 :" + workBook.getNumberOfSheets()); for (int i = 0; i < workBook.getNumberOfSheets(); i++) { // 创建工作表 HSSFSheet sheet = workBook.getSheetAt(i); int rows = sheet.getPhysicalNumberOfRows(); // 获得行数 if (rows > 0) { sheet.getMargin(HSSFSheet.TopMargin); List list=new ArrayList(); for (int r = 0; r < rows; r++) { // 行循环 HSSFRow row = sheet.getRow(r); if (row != null && r != 0 && r != 1) {// 不取第二行 int cells = row.getLastCellNum();// 获得列数 // 定义集合datas用于存Excel中一个行的数据 Vector datas = new Vector(); String[]arr=new String[cells]; ListparamList=new ArrayList(); for (short c = 0; c < cells; c++) { // 列循环 HSSFCell cell = row.getCell(c); if (cell != null) { String value = getValue(cell); // System.out.println("第" + r + "行 " + "第" + c + "列:" + value); datas.add(value); paramList.add(value); arr[c]=value; } } list.add(arr); result = inFillMap(list); // dataIntoDb(tableName, paramList); // 向表中插入数据 // DBFactory.insertData(dbConn, tableName, datas); } } } else { } } } catch (Exception ex) { ex.printStackTrace(); log.info(ex); throw ex; } return result; } // public void readExcel2007(DBModel dbConn, String filePath, String tableName) @SuppressWarnings({ "resource", "unused", "rawtypes", "unchecked" }) public String readExcel2007Out( String filePath, String tableName) throws Exception { String result=""; try { // InputStream inp = new FileInputStream(filePath); // Workbook wb = WorkbookFactory.create(inp); XSSFWorkbook wb = new XSSFWorkbook(filePath); int sheetSize = wb.getNumberOfSheets(); // for (int i = 0; i < sheetSize; i++) { List list=new ArrayList(); XSSFSheet sheet = wb.getSheetAt(0); // Sheet sheet = wb.getSheetAt(i); for (Iterator rit = sheet.rowIterator(); rit.hasNext();) { // 迭代行 XSSFRow row = (XSSFRow) rit.next(); // 迭代单元格 Vector datas = new Vector(); StringBuffer sb=new StringBuffer(); MaplineMap=new HashMap(); for (Iterator cit = row.cellIterator(); cit.hasNext();) { // 定义集合datas用于存Excel中一个行的数据 XSSFCell cell = (XSSFCell) cit.next(); String value = getValue2007(cell); sb.append(value+"|"); // 注意行和列是基于0索引的 // System.out.print(cell.getRowIndex() + ":" + cell.getColumnIndex() + " "); datas.add(value); // System.out.println(); // 开始操作单元格 } String[] arr=sb.toString().split("[|]"); list.add(arr); // result = fillMap(list);; // 向表中插入数据 // DBFactory.insertData(dbConn, tableName, datas); } result = outFillMap(list); System.out.println(result); // } } catch (FileNotFoundException e) { e.printStackTrace(); throw e; } catch (IOException e) { e.printStackTrace(); throw e; } return result; } /** * 将Excel数据导入到表中 * * @param filePath * Excel路径 * @param tableName * 表名 */ // public void readExcel(DBModel dbConn, String filePath, String tableName) @SuppressWarnings({ "rawtypes", "deprecation", "unchecked", "resource" }) public String readExcelOut( String filePath, String tableName) throws Exception { String result=""; try { POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream( filePath)); // 创建工作簿 HSSFWorkbook workBook = new HSSFWorkbook(fs); log.info(workBook.getNumberOfSheets()); // System.out.println("工作表个数 :" + workBook.getNumberOfSheets()); for (int i = 0; i < workBook.getNumberOfSheets(); i++) { // 创建工作表 HSSFSheet sheet = workBook.getSheetAt(i); int rows = sheet.getPhysicalNumberOfRows(); // 获得行数 if (rows > 0) { sheet.getMargin(HSSFSheet.TopMargin); List list=new ArrayList(); for (int r = 0; r < rows; r++) { // 行循环 HSSFRow row = sheet.getRow(r); if (row != null && r != 0) {// 不取第一行 int cells = row.getLastCellNum();// 获得列数 // 定义集合datas用于存Excel中一个行的数据 Vector datas = new Vector(); String[]arr=new String[cells]; ListparamList=new ArrayList(); for (short c = 0; c < cells; c++) { // 列循环 HSSFCell cell = row.getCell(c); if (cell != null) { String value = getValue(cell); // System.out.println("第" + r + "行 " + "第" + c + "列:" + value); datas.add(value); paramList.add(value); arr[c]=value; } } list.add(arr); result = outFillMap(list); // dataIntoDb(tableName, paramList); // 向表中插入数据 // DBFactory.insertData(dbConn, tableName, datas); } } } else { } } } catch (Exception ex) { ex.printStackTrace(); log.info(ex); throw ex; } return result; } public String getValue2007(XSSFCell cell) { String value = ""; switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: // System.out.println(cell.getRichStringCellValue().getString()); break; case Cell.CELL_TYPE_NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { // System.out.println(cell.getDateCellValue()); java.util.Date date = cell.getDateCellValue(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); value = format.format(date); } else { // System.out.println(cell.getNumericCellValue()); value = String.valueOf(cell.getNumericCellValue()); } break; case Cell.CELL_TYPE_BOOLEAN: // System.out.println(cell.getBooleanCellValue()); value = " " + cell.getBooleanCellValue(); break; case Cell.CELL_TYPE_FORMULA: // System.out.println(cell.getCellFormula()); value = cell.getCellFormula(); break; default: System.out.println(); } return value; } /** * 获取Excel中某个单元格的值 * * @param cell * @return * @throws ParseException */ public String getValue(HSSFCell cell) throws ParseException { String value = ""; String value1 = ""; switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC: // 数值型 System.out.println("数字类型"); if (HSSFDateUtil.isCellDateFormatted(cell)) { log.info("时间类型============="); // 如果是date类型则 ,获取该cell的date值 Date d = cell.getDateCellValue(); log.info(d); DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); value = format.format(d); } else {// 纯数字 cell.setCellType(Cell.CELL_TYPE_STRING); value = cell.getStringCellValue(); } break; /* 此行表示单元格的内容为string类型 */ case HSSFCell.CELL_TYPE_STRING: // 字符串型 value = cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_FORMULA:// 公式型 // 读公式计算值 value = String.valueOf(cell.getNumericCellValue()); if (value.equals("NaN")) {// 如果获取的数据值为非法值,则转换为获取字符串 value = cell.getStringCellValue().toString(); } cell.getCellFormula(); break; case HSSFCell.CELL_TYPE_BOOLEAN:// 布尔 value = " " + cell.getBooleanCellValue(); break; /* 此行表示该单元格值为空 */ case HSSFCell.CELL_TYPE_BLANK: // 空值 value = ""; break; case HSSFCell.CELL_TYPE_ERROR: // 故障 value = ""; break; default: value = cell.getStringCellValue().toString(); } return value; } /** * 將数据转换成json * @param list * @return * @throws UnsupportedEncodingException */ public String inFillMap(List list) throws UnsupportedEncodingException{ List>dataList=new ArrayList>(); for(int i=0;itempMap=new HashMap(); String[]arr=list.get(i); String[] SEX_262 = arr[4]==null ? null:arr[4].split(":"); String[] PROFESSIONAL_262 = arr[10]==null ? null:arr[10].split(":"); String[] VOLTAGE_LEVEL_262 = arr[11]==null ? null:arr[11].split(":"); String[] TEAM_QUARTERS_262 = arr[14]==null ? null:arr[14].split(":"); // tempMap.put("TEAM_UNIT_262", arr[0]); // tempMap.put("TEAM_NAME_262", arr[1]); tempMap.put("CODE_262", new String(java.net.URLEncoder.encode(arr[0]==null ? "":arr[0].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); tempMap.put("NAME_262", new String(java.net.URLEncoder.encode(arr[1]==null ? "":arr[1].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); tempMap.put("ID_NUMBER_262", new String(java.net.URLEncoder.encode(arr[2]==null ? "":arr[2].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); tempMap.put("BIRTH_DATE_262", new String(java.net.URLEncoder.encode(arr[3]==null ? "":arr[3].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); if(SEX_262!=null) tempMap.put("SEX_262", new String(java.net.URLEncoder.encode(SEX_262[0].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); else tempMap.put("SEX_262",""); tempMap.put("WORK_TYPE_AGE_262", new String(java.net.URLEncoder.encode(arr[5]==null ? "":arr[5].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); tempMap.put("DEPT_ID_262", new String(java.net.URLEncoder.encode(arr[6]==null ? "":arr[6].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); tempMap.put("DEPT_QUARTERS_262", new String(java.net.URLEncoder.encode(arr[7]==null ? "":arr[7].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); tempMap.put("TECHNICAL_TITLE_262", new String(java.net.URLEncoder.encode(arr[8]==null ? "":arr[8].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); tempMap.put("SKILL_LEVEL_262",new String(java.net.URLEncoder.encode(arr[9]==null ? "":arr[9].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); if(PROFESSIONAL_262!=null) tempMap.put("PROFESSIONAL_262", new String(java.net.URLEncoder.encode(PROFESSIONAL_262[0].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); else tempMap.put("PROFESSIONAL_262", ""); if(VOLTAGE_LEVEL_262!=null) tempMap.put("VOLTAGE_LEVEL_262", new String(java.net.URLEncoder.encode(VOLTAGE_LEVEL_262[0].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); else tempMap.put("VOLTAGE_LEVEL_262",""); tempMap.put("TELEPHONE_262", new String(java.net.URLEncoder.encode(arr[12]==null ? "":arr[12].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); tempMap.put("RESCUE_EXP_262", new String(java.net.URLEncoder.encode(arr[13]==null ? "":arr[13].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); if(TEAM_QUARTERS_262!=null) tempMap.put("TEAM_QUARTERS_262", new String(java.net.URLEncoder.encode(TEAM_QUARTERS_262[0].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); else tempMap.put("TEAM_QUARTERS_262",""); tempMap.put("REMARK_262", new String(java.net.URLEncoder.encode(arr[15]==null ? "":arr[15].replace("\n", ""), "UTF-8").getBytes(), "ISO-8859-1")); dataList.add(tempMap); } String result=JsonUtil.list2json(dataList); return result; } /** * 將数据转换成json * @param list * @return */ public String outFillMap(List list){ List>dataList=new ArrayList>(); for(int i=0;itempMap=new HashMap(); String[]arr=list.get(i); // tempMap.put("TEAM_UNIT_262", arr[0]); // tempMap.put("TEAM_NAME_262", arr[1]); // tempMap.put("CODE_262", arr[2]); tempMap.put("NAME_262", arr[0]);//姓名 tempMap.put("ID_NUMBER_262", arr[1]);//身份证号码 tempMap.put("CERTIFICATE_262", arr[2]);//持证证书编号 tempMap.put("BIRTH_DATE_262", arr[3]);//出身年月 tempMap.put("SEX_262", arr[4]);//性别 tempMap.put("WORK_TYPE_AGE_262", arr[5]);//本工种工龄 tempMap.put("DEPT_ID_262", arr[6]);//所在单位 tempMap.put("DEPT_QUARTERS_262", arr[7]);//原单位职务岗位 tempMap.put("TECHNICAL_TITLE_262", arr[8]);//技术职称 tempMap.put("SKILL_LEVEL_262", arr[9]);//技能等级 tempMap.put("PROFESSIONAL_262", arr[10]);//专业 tempMap.put("VOLTAGE_LEVEL_262", arr[11]);//电压等级 tempMap.put("TELEPHONE_262", arr[12]);//联系手机 tempMap.put("RESCUE_EXP_262", arr[13]);//抢险经历 tempMap.put("TEAM_QUARTERS_262", arr[14]);//队伍岗位 dataList.add(tempMap); } String result=JsonUtil.list2json(dataList); return result; } /** * 将界面传输过来的数据保存到数据库 * @param params * @return * @throws ClassNotFoundException */ @SuppressWarnings("static-access") @ProduceMime("application/json") @POST @Path("/teamerInToDb") public Msg teamerInToDb(String params) throws ClassNotFoundException{ Msg m=new Msg(); String json = Utils.getParameter("json", params) == null ? "" : Utils.getParameter( "json", params); log.info("json===" + json); String classId = Utils.getParameter("classId", params) == null ? "" : Utils .getParameter("classId", params); log.info("classId===" + classId); String teamId = Utils.getParameter("teamId", params) == null ? "" : Utils .getParameter("teamId", params); String unit = Utils.getParameter("unit", params) == null ? "" : Utils .getParameter("unit", params); String teamName = Utils.getParameter("teamName", params) == null ? "" : Utils .getParameter("teamName", params); json=json.replace("_"+classId, ""); String userId = Utils.getParameter("userid", params) == null ? "" : Utils .getParameter("userid", params); log.info("userId===" + userId); Connection conn = null; PreparedStatement st = null; PreparedStatement st1 = null; DbConnection db = new DbConnection(); List list = JsonPluginsUtil.jsonToBeanList(json, TeamerBean.class); Map tempMap = new HashMap(); String sql="INSERT INTO EMC_AM_TEAM_PERSONNEL (FD_OBJECTID,TEAM_UNIT,TEAM_NAME,CODE,NAME," + "ID_NUMBER,BIRTH_DATE,SEX,WORK_TYPE_AGE,DEPT_ID,DEPT_QUARTERS,TECHNICAL_TITLE," + "SKILL_LEVEL,PROFESSIONAL,VOLTAGE_LEVEL,TELEPHONE,RESCUE_EXP,TEAM_QUARTERS," + "UPDATEDATE,IS_DEL,TEAM_SYSTEM,TEAM_ID,TYPEIN_PEOPLE,SORT_NO,REMARK) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; try { conn = db.getConnection(); int num=0; conn.setAutoCommit(false); st = conn.prepareStatement(sql); for(int i=0;i list = JsonPluginsUtil.jsonToBeanList(json, TeamerBean.class); String sql="INSERT INTO EMC_AM_TEAM_PERSONNEL (FD_OBJECTID,TEAM_UNIT,TEAM_NAME,NAME," + "ID_NUMBER,BIRTH_DATE,SEX,WORK_TYPE_AGE,DEPT_ID,DEPT_QUARTERS,TECHNICAL_TITLE," + "SKILL_LEVEL,PROFESSIONAL,VOLTAGE_LEVEL,TELEPHONE,RESCUE_EXP,TEAM_QUARTERS," + "UPDATEDATE,IS_DEL,CERTIFICATE,TEAM_SYSTEM,TEAM_ID,REMARK,SORT_NO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; try { conn = db.getConnection(); int num=0; conn.setAutoCommit(false); st = conn.prepareStatement(sql); for(int i=0;i getMsgId() throws ClassNotFoundException { String sql = "SELECT FD_OBJECTID FROM EMC_AM_TEAM_PERSONNEL"; Connection conn = null; Statement stat = null; ResultSet rs = null; DbConnection db = new DbConnection(); try { conn = db.getConnection(); stat = conn.createStatement(); rs = stat.executeQuery(sql); List list = new ArrayList(); while (rs.next()) { list.add(rs.getString("FD_OBJECTID")); } return list; } catch (SQLException e) { // this.log.error(e.getMessage(), e); throw new ClassNotFoundException("DAO Layou: 获得数据库消息ID集合" + sql, e); } finally { db.close(rs); db.close(stat); db.close(conn); } } public String createMsgId(List list) throws ClassNotFoundException{ long l=(long) ((Math.random()+1)*1000000000); String msgId=l+""; if(list.contains(msgId)){ return createMsgId(list); } else{ // log.info("msgid==="+msgId); return msgId; } } /*************************************排序****************************************/ @SuppressWarnings("static-access") public boolean checkhaveId(String id) { try{ String sql="select * from EMC_AM_TEAM_PERSONNEL where TEAM_ID ='"+id+"' and IS_DEL = '0' and sort_no is not null"; SysModel sysmodel = ModelFactory.getSysmodel(); SysPersistence persistence = PersistenceFactory.getInstance(sysmodel); ListtempList= persistence.getSearchResult(99, sql.toString()); if(tempList==null||tempList.size()==0){ return false; }else{ return true; }}catch(Exception e){ this.log.error(e.getMessage(), e); return false; } } @SuppressWarnings("static-access") public int houxuzhi(String id) throws ClassNotFoundException { try{ String sql="select sort_no from EMC_AM_TEAM_PERSONNEL where TEAM_ID ='"+id+"' and IS_DEL='0' and sort_no is not null order by sort_no desc"; SysModel sysmodel = ModelFactory.getSysmodel(); SysPersistence persistence = PersistenceFactory.getInstance(sysmodel); ListtempList= persistence.getSearchResult(99, sql.toString()); return Integer.parseInt(tempList.get(0)[0]); }catch(Exception e){ this.log.error(e.getMessage(), e); throw new ClassNotFoundException("DAO Layou: 消息保存", e); } } @ProduceMime("application/json") @POST @Path("/getAddSort") public String getAddSort(String params) throws ClassNotFoundException{ String id=Utils.getParameter("id", params); String json = null; //判断有没有初始值 if(!checkhaveId(id)){ json = "555555551"; }else{ json = String.valueOf(houxuzhi(id)+1); } return json; } }