⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 senddocformmanager.java

📁 负责公文的传输及一些处理功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.example.gw.senddocform;



import javax.servlet.ServletConfig;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.GregorianCalendar;
import java.util.Calendar;
import java.util.Date;
import java.util.Set;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
import java.io.File;
import com.jspsmart.upload.Request;
import com.jspsmart.upload.SmartUpload;
import com.example.businessmodel.Page;
import com.example.gw.attachment.IAttachmentManager;
import com.example.gw.attachment.Attachment;
import com.example.util.StringUtils;
import com.example.util.DateWrapper;
import com.example.gw.senddoclog.SendDocLog;
import com.example.gw.senddoclog.ISendDocLogManager;
import com.example.gw.system.user.UserInfo;
import com.example.gw.recvdocform.RecvDocForm;
import com.example.gw.recvdocform.IRecvDocFormManager;
import com.example.gw.recvpermission.RecvPermission;
import com.example.gw.recvpermission.IRecvPermissionManager;
import java.util.TreeSet;
import com.example.util.ComparatorUtil;

public class SendDocFormManager implements ISendDocFormManager {
	private ISendDocFormDao sendDocFormDao;

	public static final String path_fgf = "/";

	public void setSendDocFormDao(ISendDocFormDao sendDocFormDao) {
		this.sendDocFormDao = sendDocFormDao;
	}

	public ISendDocFormDao getSendDocFormDao() {
		return sendDocFormDao;
	}

	private IAttachmentManager attachmentManager;

	public void setAttachmentManager(IAttachmentManager attachmentManager) {
		this.attachmentManager = attachmentManager;
	}

	public IAttachmentManager getAttachmentManager() {
		return attachmentManager;
	}

	private String uploadPath;

	public void setUploadPath(String uploadPath) {
		this.uploadPath = uploadPath;
	}

	public String getUploadPath() {
		return uploadPath;
	}

	private ISendDocLogManager sendDocLogManager;

	public void setSendDocLogManager(ISendDocLogManager sendDocLogManager) {
		this.sendDocLogManager = sendDocLogManager;
	}

	public ISendDocLogManager getSendDocLogManager() {
		return sendDocLogManager;
	}

	private String wsUploadPath;

	public void setWsUploadPath(String wsUploadPath) {
		this.wsUploadPath = wsUploadPath;
	}

	public String getWsUploadPath() {
		return wsUploadPath;
	}

	private IRecvDocFormManager recvDocFormManager;

	public void setRecvDocFormManager(IRecvDocFormManager recvDocFormManager) {
		this.recvDocFormManager = recvDocFormManager;
	}

	public IRecvDocFormManager getRecvDocFormManager() {
		return recvDocFormManager;
	}

	private IRecvPermissionManager recvPermissionManager;

	public void setRecvPermissionManager(
			IRecvPermissionManager recvPermissionManager) {
		this.recvPermissionManager = recvPermissionManager;
	}

	public IRecvPermissionManager getRecvPermissionManager() {
		return recvPermissionManager;
	}

	public SendDocForm saveDocAndUpdataAttachment(ServletConfig servletConfig,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		SmartUpload upload = new SmartUpload();
		upload.initialize(servletConfig, request, response);
		upload.upload();
		Request req = upload.getRequest();
		String sendStatus = req.getParameter("status");
		if (sendStatus.equals("3") || sendStatus.equals("4")) {
			request.setAttribute("sendStatus", "1");
			request.setAttribute("recvUnitIds", req
							.getParameter("recvUnitIds"));
			request.setAttribute("recvUnitNames", req
					.getParameter("recvUnitNames"));
			request.setAttribute("printNums", req.getParameter("printNums"));
		}
		SendDocForm sendDoc = saveSendDocForm(req);
		String deleteFileId = req.getParameter("deleteFileId");
		String zwUploadStatus = req.getParameter("zwUploadStatus");
		String[] fileIds = StringUtils.split(deleteFileId, ";");
		if (fileIds.length > 0) {
			deleteUploadFile(deleteFileId, request, sendDoc);
		}
		for (int i = 0; i < upload.getFiles().getCount(); i++) {
			com.jspsmart.upload.File file = upload.getFiles().getFile(i);
			if (!file.isMissing()) {
				Attachment bean = saveAttachment(sendDoc, file, zwUploadStatus,
						i);
				String file_etc = (file.getFileName()).substring((file
						.getFileName()).lastIndexOf(".") + 1);
				String filePath = bean.getPath()
						+ sendDoc.getDocId().toString() + path_fgf
						+ bean.getFileId().toString() + "." + file_etc;
				file.saveAs(filePath);
			}
		}
		if (sendStatus.equals("2")) {
			saveSeal(req, sendDoc);
		}
		return sendDoc;
	}

	public SendDocForm saveSendDocForm(Request req) {
		String docId = req.getParameter("docId");
		String docKind = req.getParameter("docKind");
		String status = req.getParameter("status");
		String createUnitId = req.getParameter("createUnitId");
		String creator = req.getParameter("creator");
		String creatorId = req.getParameter("creatorId");
		String zwcount = req.getParameter("zwcount");
		String filePages = req.getParameter("filePages");
		String docTitle = req.getParameter("docTitle");
		String combineUnit = req.getParameter("combineUnit");
		String docNoPre = req.getParameter("docNoPre");
		String yearNo = req.getParameter("yearNo");
		String waterNo = req.getParameter("waterNo");
		String subject = req.getParameter("subject");
		String publishPerson = req.getParameter("publishPerson");
		String emergency = req.getParameter("emergency");
		String allSignPerson = req.getParameter("allSignPerson");
		String secret = req.getParameter("secret");
		String docMemo = req.getParameter("docMemo");
		String xiugai = req.getParameter("xiugai");
		String caogaoStatus = req.getParameter("caogaoStatus");
		SendDocForm sendDoc = new SendDocForm();
		if (!docId.equals("0")) {
			sendDoc = (SendDocForm) sendDocFormDao.findById(SendDocForm.class,
					new Integer(docId));
		}
		sendDoc.setDocId(new Integer(docId));
		sendDoc.setDocKind(docKind);
		if(docId.equals("0") && caogaoStatus.equals("0")){
			if(docKind.equals("0")){
				sendDoc.setStatus("1");
			}else{
				sendDoc.setStatus("2");
			}
		}else{
			if(status.equals("0") && caogaoStatus.equals("0")){
				if(docKind.equals("0")){
					sendDoc.setStatus("1");
				}else{
					sendDoc.setStatus("2");
				}
			}else{
			    sendDoc.setStatus(status);
			}
		}
		sendDoc.setCreateUnitId(new Integer(createUnitId));
		sendDoc.setCreator(creator);
		if (status.equals("0") || (status.equals("1") && xiugai.equals("0"))) {
			sendDoc.setCreateDate(DateWrapper.getDate(""));
		}
		if (status.equals("2")) {
			sendDoc.setSealTime(DateWrapper.getDate(""));
			sendDoc.setSealName(req.getParameter("sealName"));
			sendDoc.setSealPerson(req.getParameter("sealPerson"));
		}
		if (status.equals("3")) {
			sendDoc.setStatus("2");
		}
		if(!filePages.equals("")){
			sendDoc.setFilePages(new Integer(filePages));	
		}
		sendDoc.setDocTitle(docTitle);
		sendDoc.setCombineUnit(combineUnit);
		sendDoc.setDocNoPre(docNoPre);
		sendDoc.setYearNo(yearNo);
		sendDoc.setWaterNo(waterNo);
		sendDoc.setSubject(subject);
		sendDoc.setPublishPerson(publishPerson);
		sendDoc.setEmergency(emergency);
		sendDoc.setAllSignPerson(allSignPerson);
		sendDoc.setSecret(secret);
		sendDoc.setMemo(docMemo);
		sendDocFormDao.saveOrUpdate(sendDoc);
		return sendDoc;
	}

	public void deleteUploadFile(String deleteFileId,
			HttpServletRequest request, SendDocForm sendDoc) {
		SendDocLog deleteFileLog = new SendDocLog();
		deleteFileLog.setMemo(deleteFileId);
		deleteFileLog.setOperateDate(DateWrapper.getDate(""));
		deleteFileLog.setOperateId("8");
		deleteFileLog.setOperator(sendDoc.getCreator());
		HttpSession session = request.getSession();
		UserInfo userInfo = (UserInfo) session.getAttribute("userinfo");
		deleteFileLog.setOperatorId(new Integer(userInfo.getUserID()));
		deleteFileLog.setSendDocForm(sendDoc);
		deleteFileLog.setUnitId(sendDoc.getCreateUnitId());
		sendDocLogManager.saveSendLog(deleteFileLog);
		Set deleteFileSet = sendDoc.getAttachments();
		String[] fileIds = StringUtils.split(deleteFileId, ";");
		for (int i = 0; i < fileIds.length; i++) {
			Attachment deleteFile = attachmentManager.getAttachment(fileIds[i]);
			String graphpath = deleteFile.getPath() + deleteFile.getSite();
			File file = new File(getUploadPath() + graphpath + path_fgf
					+ deleteFile.getFileName());
			file.delete();
			deleteFileSet.remove(deleteFile);
			attachmentManager.deleteAttachment(deleteFile);
		}
	}

	public Attachment saveAttachment(SendDocForm sendDoc,
			com.jspsmart.upload.File file, String zwUploadStatus, int i)
			throws Exception {
		Calendar cal = new GregorianCalendar();
		cal.setTime(new Date());
		String year = Integer.toString(cal.get(cal.YEAR));
		String month = Integer.toString(cal.get(cal.MONTH));
		String path = path_fgf + "upload" + path_fgf
				+ sendDoc.getCreateUnitId() + path_fgf + year + path_fgf
				+ month + path_fgf;
		String graphpath = path_fgf + "upload" + path_fgf
				+ sendDoc.getCreateUnitId() + path_fgf + year + path_fgf
				+ month + path_fgf + sendDoc.getDocId().toString();
		setInitPath(graphpath);
		Attachment bean = new Attachment();
		bean.setPath(path);
		bean.setSite(sendDoc.getDocId().toString());
		bean.setTitle(file.getFileName());
		bean.setItemId(sendDoc.getDocId());
		bean.setFileName(file.getFileName());
		String file_etc = (file.getFileName()).substring((file.getFileName())
				.lastIndexOf(".") + 1);
		bean.setMimeType(getMimeType(file.getTypeMIME() + path_fgf
				+ file.getSubTypeMIME(), file_etc));
		bean.setFileSize(new Integer(file.getSize()));
		bean.setStatus("1");
		if(sendDoc.getDocKind().equals("1")){
			bean.setStatus("11");
		}
		if (zwUploadStatus.equals("1") && i == 0) {
			if(sendDoc.getDocKind().equals("1")){
				bean.setStatus("10");
			}else{
			    bean.setStatus("0");
			}
		}
		bean.setTableName("senddoc");
		attachmentManager.saveAttachment(bean);
		bean.setFileName(bean.getFileId().toString() + "." + file_etc);
		return bean;
	}
	
	public Page findUnsealList(String unitId) throws Exception {
		String where = " from SendDocForm where status = '1' and createUnitId="
				+ unitId + " order by createDate desc";
		return sendDocFormDao.loadPage(where, 1, 15);
	}

	public Page findDraftList(String unitId) throws Exception {
		String where = " from SendDocForm where status = '0' and createUnitId="
				+ unitId + " order by createDate desc";
		return sendDocFormDao.loadPage(where, 1, 15);
	}

	public Page findUnsendList(String unitId) throws Exception {
		String where = " from SendDocForm where status = '2' and createUnitId="
				+ unitId + " order by createDate desc";
		return sendDocFormDao.loadPage(where, 1, 15);
	}

	public Page findSendedList(String unitId) throws Exception {
		String where = " from SendDocForm where status in ('3','4') and createUnitId="
				+ unitId + " order by createDate desc";
		return sendDocFormDao.loadPage(where, 1, 15);
	}

	 
	public Page findDeleteList(String unitId)throws Exception{
	    String where = " from SendDocForm where status in ('10','11','12','13') and createUnitId="+unitId + " order by delTime desc";
	    return sendDocFormDao.loadPage(where,1,15);
	}
	
	public Page findQueryList(String bywhere) throws Exception{
		return sendDocFormDao.loadPage(bywhere,1,15);
	}

	public int findUnsendNum(int unitId){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -