首页>代码>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;
	}
	

}
最近下载更多
Mr_VVcat  LV8 4月16日
zhaoming200677  LV12 2023年4月18日
xiquyiyuan  LV10 2023年3月29日
adfsxz  LV3 2022年8月29日
wanglinddad  LV54 2021年12月29日
17683946472  LV9 2021年11月26日
圈子圈  LV3 2021年4月10日
lhw549624  LV3 2021年1月9日
2639891331  LV8 2021年1月4日
于明豪  LV1 2020年12月8日
最近浏览更多
hmf1989 4月29日
暂无贡献等级
Mr_VVcat  LV8 4月16日
FF加菲猫  LV4 2月15日
微笑刺客  LV15 1月17日
952773464 1月15日
暂无贡献等级
qq2901732871  LV9 1月8日
iiiiiiixiiiiii  LV1 1月5日
xk16675552250  LV33 1月4日
WBelong  LV7 2023年12月25日
liqing1  LV1 2023年12月23日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友