首页>代码>struts2+spring+hibernate+mysql整合开发医院病人管理系统>/hospital/src/cn/hospital/action/FilmsAction.java
package cn.hospital.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.json.annotations.JSON;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;



import cn.hospital.bo.Page;
import cn.hospital.pojo.Films;
import cn.hospital.pojo.Patient;
import cn.hospital.service.FilmsService;
import cn.hospital.utils.Globals;

import com.opensymphony.xwork2.ActionSupport;



@SuppressWarnings("serial")
@Component("FilmsAction")
@Scope("prototype")
public class FilmsAction extends BaseAction {
	
	private int id;
	
	private int pageNumber=1;
	private int pageLength=Globals.PAGE_LENGTH;;
	private int recordSize;
	private int pageSize;
	
	private Page page;

	private File image;
	private String imageFileName; // 文件名称
	private String imageContentType; // 文件类型
	
	private File[] imageadd;
	private String[] imageaddFileName; // 文件名称
	private String[] imageaddContentType; // 文件类型
	
	private Films films;
	private List<Films>filmsList=new ArrayList<Films>();
	private int patientId;
	
	private FilmsService filmsService;
	private String oldImageName;
	private String serverRelativePath;
	private String[]  serverRelativePathes;

	private String message;
	
	private String oldFilesNum="";
	
	





	public String getOldFilesNum() {
		return oldFilesNum;
	}

	public void setOldFilesNum(String oldFilesNum) {
		this.oldFilesNum = oldFilesNum;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public String toAddFilms(){
		System.out.println("----patientId:"+patientId);
		return Globals.SUCCESS;
	}
	
	public String addFilms(){
		for(int i=0;i<this.filmsList.size();i++){
			
			Films newFilms=filmsList.get(i);
			
			String condition=" where numFilms='"+newFilms.getNumFilms()+"'";
			if(filmsService.queryFilms(condition).size()!=0){
				message="该影像号已经存在,请重新添加";
				return Globals.FAILURE;
			}	
			
			String savePath = ServletActionContext.getServletContext().getRealPath(
					File.separator + Globals.SAVE_DIR + File.separator
							+ Globals.DIR_IMAGES);
			System.out.println("savePath:"+savePath);
			if (imageadd != null) {	
				imageaddFileName[i]=Globals.getString(6)+"-"+ imageaddFileName[i].replace(" ", "");;
				File saveFile = new File(new File(savePath), imageaddFileName[i]);
				if (!saveFile.getParentFile().exists()) {
					saveFile.getParentFile().mkdirs();
				}
				try {
					FileUtils.copyFile(imageadd[i], saveFile);
					newFilms.setImageUrl(imageaddFileName[i]);
				} catch (IOException e) {
					System.out.println("上传海报异常");
					e.printStackTrace();
				}
			}
			
			newFilms.setPatientId(patientId);
			this.filmsService.addFilms(newFilms);
		}
		
		return Globals.SUCCESS;
	}
	
	
	private String extraCondition="";


	public String lookFilms() throws UnsupportedEncodingException{
		
		String condition=" where patientId="+patientId;
		if(!"".equals(extraCondition))
			condition=condition+extraCondition;
		if(pageNumber < 1) pageNumber = 1;
		System.out.println("films----num:"+pageNumber+"--len:"+pageLength);
		Page page = this.filmsService.query(pageNumber, pageLength,condition);
		this.filmsList = (List<Films>)page.getDataList();
		recordSize = page.getRecordSize();
		pageSize = page.getPageSize();
		if(pageNumber > pageSize){
			pageNumber = pageSize;
			page = this.filmsService.query(pageNumber, pageLength,condition);
			System.out.println("films----page:"+page);
			filmsList = (List<Films>)page.getDataList();
			recordSize = page.getRecordSize();
			pageSize = page.getPageSize();
		}
		
		System.out.println("------filmsList:"+filmsList.size());
		if(filmsList.size()!=0){
			serverRelativePathes=new String[filmsList.size()];
			for(int i=0;i<serverRelativePathes.length;i++){
				serverRelativePathes[i]=Globals.SAVE_DIR+"//"+Globals.DIR_IMAGES+"//"+filmsList.get(i).getImageUrl();
				System.out.println("serverRelativePathes[i]::"+serverRelativePathes[i]);
			//serverRelativePathes[i]=new String(serverRelativePathes[i].getBytes("ISO-8859-1") , "utf-8"); 
			}
		}
	/*	String savePath = ServletActionContext.getServletContext().getRealPath(
				File.separator + Globals.SAVE_DIR + File.separator
						+ Globals.DIR_IMAGES);*/
		//filmsList=this.filmsService.lookFilms(patientId);
		//imageFileName=films.getImageUrl();
		//serverRelativePath=""+Globals.SAVE_DIR;
		//System.out.println("serverRelativePath:"+server+"//"+Globals.DIR_IMAGES+"//"+imageFileNameRelativePath);
		return Globals.SUCCESS;
	}
	
	
	public String lookFilmsByID(){
	
		films=this.filmsService.getFilmsById(id);
		String image_name=films.getImageUrl();
		serverRelativePath=""+Globals.SAVE_DIR+"//"+Globals.DIR_IMAGES+"//"+image_name;
		return Globals.SUCCESS;
		
		
	}
	
	
	
	public String updateFilms(){
		
		Films db_films=this.filmsService.getFilmsById(id);
		
		String condition=" where numFilms="+films.getNumFilms();
	
		if(!films.getNumFilms().equals(db_films.getNumFilms())){	//当号码还是数据库中的编号的时候,直接更改
			if(!oldFilesNum.equals(films.getNumFilms())){	//当号码不是数据库中的编号并且新旧号码不同的时候
				if(filmsService.queryFilms(condition).size()!=0){
					message="该影像号已经存在,请重新更改";
					films.setId(db_films.getId());
					this.patientId=db_films.getPatientId();
					films.setPatientId(patientId);
					return Globals.FAILURE;
				}
			}
		}
		
		String savePath = ServletActionContext.getServletContext().getRealPath(
				File.separator + Globals.SAVE_DIR + File.separator
						+ Globals.DIR_IMAGES);
		if (image != null) {
			imageFileName=Globals.getString(6)+"-"+ imageFileName.replace(" ", "");;
			File saveFile = new File(new File(savePath), imageFileName);
			if (!saveFile.getParentFile().exists()) {
				saveFile.getParentFile().mkdirs();
			}
			try {
				FileUtils.copyFile(image, saveFile);
				films.setImageUrl(imageFileName);
			} catch (IOException e) {
				System.out.println("上传海报异常");
				e.printStackTrace();
			}
			if(oldImageName !=null || oldImageName !=""){
				File oldFile = new File(new File(savePath), oldImageName);	//删除旧文件
				if(oldFile.exists()&&oldFile.isFile())
					oldFile.delete();
			}
			
		}
		
		films.setId(id);
		films.setPatientId(patientId);
		this.filmsService.updateFilms(films);
		return Globals.SUCCESS;
	}
	
	
	public String delFilms() throws UnsupportedEncodingException{
		
		String savePath = ServletActionContext.getServletContext().getRealPath(
				File.separator + Globals.SAVE_DIR + File.separator
						+ Globals.DIR_IMAGES);
		System.out.println("savePath:"+savePath+"--fileName:"+imageFileName);
		imageFileName=new String(imageFileName.getBytes("ISO8859-1"), "UTF-8");
		if (imageFileName != null) {
			File saveFile = new File(new File(savePath), imageFileName);
			if(saveFile.exists()&&saveFile.isFile())
				saveFile.delete();
		}
		this.filmsService.deleteFilms(id);
		return Globals.SUCCESS;
	}
	
	
	private String ids;
	public String deleteAllFilms(){
		
		System.out.println("ids:"+ids);
		String[] films_ids=ids.split(",");
		for(int i=0;i<films_ids.length;i++){
			this.filmsService.deleteFilms(Integer.parseInt(films_ids[i]));
		}
		return Globals.SUCCESS;
	}
	
	public String getIds() {
		return ids;
	}

	public void setIds(String ids) {
		this.ids = ids;
	}

	
	
	public String downloadMyImage() throws IOException{
		
		String savePath = ServletActionContext.getServletContext().getRealPath(
				File.separator + Globals.SAVE_DIR + File.separator
						+ Globals.DIR_IMAGES);
		System.out.println("downloadMyImage----imageFileName111:"+imageFileName);
		//imageFileName=new String(imageFileName.getBytes("ISO-8859-1") , "utf-8"); 
		//System.out.println("downloadMyImage----imageFileName222:"+imageFileName);
		File saveFile = new File(new File(savePath), imageFileName);
		if (saveFile.exists()) {
			long len = saveFile.length();
			byte a[] = new byte[1024 * 1024];
			FileInputStream fin = new FileInputStream(saveFile);

			response.setHeader("Access-Control-Allow-Origin", "*\r\n");
			OutputStream outs = response.getOutputStream();
			
			System.out.println("saveFile.getName():"+saveFile.getName());
			String filename = new String(saveFile.getName().getBytes("UTF-8"), "ISO8859-1");
			response.setHeader("Content-Disposition", "attachment; filename=" + filename);
			response.setContentType("application/octet-stream");
			response.setHeader("Content-Lenght", String.valueOf(len));
			int read = 0;
			while ((read = fin.read(a)) != -1) {
				outs.write(a, 0, read);
			}
			outs.close();
			fin.close();
		}
		return null;
	}
	
	private String filmsNum;
	
	public String testFilmsNum() throws IOException{
		//System.out.println("photoName:"+photoName);
		String condition=" where numFilms='"+filmsNum+"'";
		PrintWriter out = response.getWriter();
		String responseText="inFilms";
		if(this.filmsService.queryFilms(condition).size()==0)
			responseText="false";
		//System.out.println("responseText:"+responseText);
		out.println(responseText);
		out.flush();
		out.close();
		 return null;
	 }
	


	public String getExtraCondition() {
		return extraCondition;
	}

	public void setExtraCondition(String extraCondition) {
		this.extraCondition = extraCondition;
	}
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public File getImage() {
		return image;
	}

	public void setImage(File image) {
		this.image = image;
	}

	public String getImageFileName() {
		return imageFileName;
	}

	public void setImageFileName(String imageFileName) {
		this.imageFileName = imageFileName;
	}

	public String getImageContentType() {
		return imageContentType;
	}

	public void setImageContentType(String imageContentType) {
		this.imageContentType = imageContentType;
	}


	public Films getFilms() {
		return films;
	}

	public void setFilms(Films films) {
		this.films = films;
	}

	public int getPatientId() {
		return patientId;
	}

	public void setPatientId(int patientId) {
		this.patientId = patientId;
	}

	@JSON(serialize = false)
	public FilmsService getFilmsService() {
		return filmsService;
	}

	@Resource(name = "filmsService")
	public void setFilmsService(FilmsService filmsService) {
		this.filmsService = filmsService;
	}
	
	public String getOldImageName() {
		return oldImageName;
	}

	public void setOldImageName(String oldImageName) {
		this.oldImageName = oldImageName;
	}

	public String getServerRelativePath() {
		return serverRelativePath;
	}

	public void setServerRelativePath(String serverRelativePath) {
		this.serverRelativePath = serverRelativePath;
	}

	public List<Films> getFilmsList() {
		return filmsList;
	}

	public void setFilmsList(List<Films> filmsList) {
		this.filmsList = filmsList;
	}

	public int getPageNumber() {
		return pageNumber;
	}

	public void setPageNumber(int pageNumber) {
		this.pageNumber = pageNumber;
	}

	public int getPageLength() {
		return pageLength;
	}

	public void setPageLength(int pageLength) {
		this.pageLength = pageLength;
	}

	public int getRecordSize() {
		return recordSize;
	}

	public void setRecordSize(int recordSize) {
		this.recordSize = recordSize;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public Page getPage() {
		return page;
	}

	public void setPage(Page page) {
		this.page = page;
	}

	public String[] getServerRelativePathes() {
		return serverRelativePathes;
	}

	public void setServerRelativePathes(String[] serverRelativePathes) {
		this.serverRelativePathes = serverRelativePathes;
	}

	public File[] getImageadd() {
		return imageadd;
	}

	public void setImageadd(File[] imageadd) {
		this.imageadd = imageadd;
	}

	public String[] getImageaddFileName() {
		return imageaddFileName;
	}

	public void setImageaddFileName(String[] imageaddFileName) {
		this.imageaddFileName = imageaddFileName;
	}

	public String[] getImageaddContentType() {
		return imageaddContentType;
	}

	public void setImageaddContentType(String[] imageaddContentType) {
		this.imageaddContentType = imageaddContentType;
	}

	public String getFilmsNum() {
		return filmsNum;
	}

	public void setFilmsNum(String filmsNum) {
		this.filmsNum = filmsNum;
	}
	

}
最近下载更多
wuying8208  LV15 10月23日
Mr_VVcat  LV9 4月16日
zhaoming200677  LV12 2023年4月18日
xiquyiyuan  LV10 2023年3月29日
adfsxz  LV3 2022年8月29日
wanglinddad  LV55 2021年12月29日
17683946472  LV9 2021年11月26日
圈子圈  LV3 2021年4月10日
lhw549624  LV3 2021年1月9日
2639891331  LV8 2021年1月4日
最近浏览更多
wuying8208  LV15 10月23日
abdkfksdkf  LV16 8月26日
yyhrhv  LV8 7月24日
jiyun2021  LV9 7月15日
quartz  LV8 7月1日
疯狂小太阳 6月28日
暂无贡献等级
ss3508507551  LV2 6月3日
不嘻嘻  LV8 5月11日
hmf1989 4月29日
暂无贡献等级
Mr_VVcat  LV9 4月16日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友