From 241e351dcb4b5aa33dde2c05b711b7f2066f3be8 Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期三, 28 八月 2024 10:08:05 +0800
Subject: [PATCH] bug

---
 src/main/java/com/product/file/service/DocumentService.java | 1175 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 589 insertions(+), 586 deletions(-)

diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java
index fa8ad64..60767d4 100644
--- a/src/main/java/com/product/file/service/DocumentService.java
+++ b/src/main/java/com/product/file/service/DocumentService.java
@@ -40,641 +40,644 @@
 @Component
 public class DocumentService extends AbstractBaseService implements IDocumentService {
 
-    @Autowired
-    public BaseDao baseDao;
+	@Autowired
+	public BaseDao baseDao;
 
-    @Autowired
-    public DocumentService documentService;
+	@Autowired
+	public DocumentService documentService;
 
-    @Autowired
-    QueryFilterService queryFilterService;
+	@Autowired
+	QueryFilterService queryFilterService;
 
-    @Autowired
-    DocumentDirectoryService documentDirectoryService;
+	@Autowired
+	DocumentDirectoryService documentDirectoryService;
 
-    @Override
-    @Transactional
-    public String addDocument(FieldSetEntity fse) throws BaseException {
-        //鑾峰彇闄勪欢鐩綍鍜岄檮浠秛uid
-    	String directory_uuid = fse.getString(CmnConst.DIRECTORY_UUID);
-        String fileUUIDs = fse.getString(CmnConst.ATTACHMENTS_UUID);
-        String[] fileUUIDArray = fileUUIDs.split(",");
-        //鑾峰彇闄勪欢淇℃伅
-        DataTableEntity attachments = baseDao.listTable(CmnConst.PRODUCT_SYS_ATTACHMENTS, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, fileUUIDArray, true));
-        List<String> uuidList = ListUtils.newArrayList();
-        List<String> fileNameList = ListUtils.newArrayList();
-        //寰幆闄勪欢淇℃伅锛岀敓鎴愭枃妗d俊鎭�
-        for (int i = 0, length = attachments.getRows(); i < length; i++) {
-            FieldSetEntity attachment = attachments.getFieldSetEntity(i);
-            //鍒涘缓鏂囨。鏁版嵁瀹瑰櫒
-            FieldSetEntity fseDocument = new FieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT);
-            fseDocument.setValue(CmnConst.ATTACHMENTS_UUID, attachment.getUUID());
-            fseDocument.setValue(CmnConst.DIRECTORY_UUID, directory_uuid);
-            fseDocument.setValue(CmnConst.FILE_SIZE, attachment.getString(CmnConst.ATTACHMENT_SIZE));
-            fseDocument.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());
-            fseDocument.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());
-            //鏂囦欢鍚嶇О
-            String file_name = attachment.getString(CmnConst.FILE_NAME);
-            fseDocument.setValue(CmnConst.FILE_NAME, file_name);
-            //鏂囦欢绫诲瀷
-            String file_type = file_name.substring(file_name.lastIndexOf(".") + 1);
-            fseDocument.setValue(CmnConst.FILE_TYPE, file_type);
-            //淇濆瓨鏁版嵁
-            String documentUUID = baseDao.add(fseDocument);
+	@Override
+	@Transactional
+	public String addDocument(FieldSetEntity fse) throws BaseException {
+		//鑾峰彇闄勪欢鐩綍鍜岄檮浠秛uid
+		String directory_uuid = fse.getString(CmnConst.DIRECTORY_UUID);
+		String fileUUIDs = fse.getString(CmnConst.ATTACHMENTS_UUID);
+		String[] fileUUIDArray = fileUUIDs.split(",");
+		//鑾峰彇闄勪欢淇℃伅
+		DataTableEntity attachments = baseDao.listTable(CmnConst.PRODUCT_SYS_ATTACHMENTS, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, fileUUIDArray, true));
+		List<String> uuidList = ListUtils.newArrayList();
+		List<String> fileNameList = ListUtils.newArrayList();
+		//寰幆闄勪欢淇℃伅锛岀敓鎴愭枃妗d俊鎭�
+		for (int i = 0, length = attachments.getRows(); i < length; i++) {
+			FieldSetEntity attachment = attachments.getFieldSetEntity(i);
+			//鍒涘缓鏂囨。鏁版嵁瀹瑰櫒
+			FieldSetEntity fseDocument = new FieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT);
+			fseDocument.setValue(CmnConst.ATTACHMENTS_UUID, attachment.getUUID());
+			fseDocument.setValue(CmnConst.DIRECTORY_UUID, directory_uuid);
+			fseDocument.setValue(CmnConst.FILE_SIZE, attachment.getString(CmnConst.ATTACHMENT_SIZE));
+			fseDocument.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());
+			fseDocument.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());
+			fseDocument.setValue("latest_version", fse.getObject("latest_version"));
+			fseDocument.setValue("business_classify_uuid", fse.getObject("business_classify_uuid"));
+			fseDocument.setValue("office_classify_uuid", fse.getObject("office_classify_uuid"));
+			//鏂囦欢鍚嶇О
+			String file_name = attachment.getString(CmnConst.FILE_NAME);
+			fseDocument.setValue(CmnConst.FILE_NAME, file_name);
+			//鏂囦欢绫诲瀷
+			String file_type = file_name.substring(file_name.lastIndexOf(".") + 1);
+			fseDocument.setValue(CmnConst.FILE_TYPE, file_type);
+			//淇濆瓨鏁版嵁
+			String documentUUID = baseDao.add(fseDocument);
 
-            //鍒涘缓鏂囨。鐗堟湰鏁版嵁瀹瑰櫒
-            FieldSetEntity fseDocumentHistory = new FieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT_HISTORY);
-            BaseUtil.createCreatorAndCreationTime(fseDocumentHistory);
-            fseDocumentHistory.setValue("document_uuid", documentUUID);
-            fseDocumentHistory.setValue("attachment_uuid", attachment.getUUID());
-            fseDocumentHistory.setValue("version_number", "v1");
-            baseDao.add(fseDocumentHistory);
+			//鍒涘缓鏂囨。鐗堟湰鏁版嵁瀹瑰櫒
+			FieldSetEntity fseDocumentHistory = new FieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT_HISTORY);
+			BaseUtil.createCreatorAndCreationTime(fseDocumentHistory);
+			fseDocumentHistory.setValue("document_uuid", documentUUID);
+			fseDocumentHistory.setValue("attachment_uuid", attachment.getUUID());
+			fseDocumentHistory.setValue("version_number", fseDocument.getObject("latest_version"));
+			baseDao.add(fseDocumentHistory);
 
-            uuidList.add(documentUUID);
-            fileNameList.add(file_name);
-        }
-        this.documentation(uuidList.toArray(), "鏂板", fileNameList.toArray(), null);
-        return uuidList.toString();
-    }
+			uuidList.add(documentUUID);
+			fileNameList.add(file_name);
+		}
+		this.documentation(uuidList.toArray(), "鏂板", fileNameList.toArray(), null);
+		return uuidList.toString();
+	}
 
-    @Override
-    @Transactional
-    public boolean upDocumentName(FieldSetEntity fieldSetEntity) throws BaseException {
-        String uuid = fieldSetEntity.getString(CmnConst.UUID);
-        String file_name = fieldSetEntity.getString(CmnConst.FILE_NAME);
-        fieldSetEntity.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 淇敼浜�
-        fieldSetEntity.setValue(CmnConst.UPDATED_UTC_DATETIME, DateUtils.getDateTime());// 淇敼鏃堕棿
-        FieldSetEntity fie = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT, uuid, false);
-        String name = fie.getString(CmnConst.FILE_NAME);
-        //姣忔淇敼閮戒翰绌哄凡璇讳汉鍛�
-        fieldSetEntity.setValue(CmnConst.READ_NUM, "");
-        boolean flag = baseDao.update(fieldSetEntity);
-        this.documentRepeatOrder(new Object[]{uuid}, "閲嶅懡鍚�", new Object[]{name}, new Object[]{file_name});
-        return flag;
-    }
+	@Override
+	@Transactional
+	public boolean upDocumentName(FieldSetEntity fieldSetEntity) throws BaseException {
+		String uuid = fieldSetEntity.getString(CmnConst.UUID);
+		String file_name = fieldSetEntity.getString(CmnConst.FILE_NAME);
+		fieldSetEntity.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 淇敼浜�
+		fieldSetEntity.setValue(CmnConst.UPDATED_UTC_DATETIME, DateUtils.getDateTime());// 淇敼鏃堕棿
+		FieldSetEntity fie = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT, uuid, false);
+		String name = fie.getString(CmnConst.FILE_NAME);
+		//姣忔淇敼閮戒翰绌哄凡璇讳汉鍛�
+		fieldSetEntity.setValue(CmnConst.READ_NUM, "");
+		boolean flag = baseDao.update(fieldSetEntity);
+		this.documentRepeatOrder(new Object[]{uuid}, "閲嶅懡鍚�", new Object[]{name}, new Object[]{file_name});
+		return flag;
+	}
 
-    /**
-     * 闇�瑕佹壒閲忓垹闄�
-     *
-     * @param fieldSetEntity
-     * @return
-     * @throws BaseException
-     */
-    @Override
-    @Transactional
-    public boolean delDocument(FieldSetEntity fieldSetEntity) throws BaseException {
-        String uuids = fieldSetEntity.getString(CmnConst.UUID);
-        String file_names = fieldSetEntity.getString(CmnConst.FILE_NAME);
-        String[] file_name = file_names.split(",");
-        String[] uuid = uuids.split(",");
-        boolean flag = baseDao.delete(CmnConst.PRODUCT_OA_DOCUMENT, uuid);
-        this.documentation(uuid, "鍒犻櫎", file_name, null);
-        return flag;
-    }
+	/**
+	 * 闇�瑕佹壒閲忓垹闄�
+	 *
+	 * @param fieldSetEntity
+	 * @return
+	 * @throws BaseException
+	 */
+	@Override
+	@Transactional
+	public boolean delDocument(FieldSetEntity fieldSetEntity) throws BaseException {
+		String uuids = fieldSetEntity.getString(CmnConst.UUID);
+		String file_names = fieldSetEntity.getString(CmnConst.FILE_NAME);
+		String[] file_name = file_names.split(",");
+		String[] uuid = uuids.split(",");
+		boolean flag = baseDao.delete(CmnConst.PRODUCT_OA_DOCUMENT, uuid);
+		this.documentation(uuid, "鍒犻櫎", file_name, null);
+		return flag;
+	}
 
-    @Override
-    public DataTableEntity documentAll(FieldSetEntity fieldSetEntity) throws BaseException {
-        //鏂囨。鐩綍uuid
-        String directory_uuid = fieldSetEntity.getString(CmnConst.DIRECTORY_UUID);
-        String queryFilter = queryFilterService.getQueryFilter(fieldSetEntity);
-        if (!BaseUtil.strIsNull(queryFilter)) {
-            queryFilter = " AND " + queryFilter;
-        }
-        StringBuffer sql = new StringBuffer();
-        sql.append("SELECT \n");
-        sql.append("  A.*,B.show_name name, \n");
-        sql.append("  CONCAT(CONVERT(a.file_size / 1024, decimal(10,2)), 'KB') file_size_kb, \n");
-        sql.append("  CASE WHEN D.document_uuid IS NOT NULL THEN '1' ELSE '0' END AS is_collection \n");
-        sql.append("FROM( \n");
-        sql.append("  SELECT * FROM product_oa_document \n");
-        sql.append("  WHERE directory_uuid = ? \n");
-        sql.append(queryFilter);
-        sql.append(")A \n");
-        sql.append("LEFT JOIN product_sys_staffs B ON B.user_id = A.created_by \n");
-        sql.append("LEFT JOIN product_sys_attachments C ON C.uuid = B.staff_avatar \n");
-        sql.append("LEFT JOIN product_oa_document_collection D ON D.document_uuid = A.uuid AND D.created_by = ?");
-        DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid, SpringMVCContextHolder.getCurrentUserId()},
-        		fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE));
-        baseDao.listInternationDataTable(documentData, null);
-        return documentData;
-    }
+	@Override
+	public DataTableEntity documentAll(FieldSetEntity fieldSetEntity) throws BaseException {
+		//鏂囨。鐩綍uuid
+		String directory_uuid = fieldSetEntity.getString(CmnConst.DIRECTORY_UUID);
+		String queryFilter = queryFilterService.getQueryFilter(fieldSetEntity);
+		if (!BaseUtil.strIsNull(queryFilter)) {
+			queryFilter = " AND " + queryFilter;
+		}
+		StringBuffer sql = new StringBuffer();
+		sql.append("SELECT \n");
+		sql.append("  A.*,B.show_name name, \n");
+		sql.append("  CONCAT(CONVERT(a.file_size / 1024, decimal(10,2)), 'KB') file_size_kb, \n");
+		sql.append("  CASE WHEN D.document_uuid IS NOT NULL THEN '1' ELSE '0' END AS is_collection \n");
+		sql.append("FROM( \n");
+		sql.append("  SELECT * FROM product_oa_document \n");
+		sql.append("  WHERE directory_uuid = ? \n");
+		sql.append(queryFilter);
+		sql.append(")A \n");
+		sql.append("LEFT JOIN product_sys_staffs B ON B.user_id = A.created_by \n");
+		sql.append("LEFT JOIN product_sys_attachments C ON C.uuid = B.staff_avatar \n");
+		sql.append("LEFT JOIN product_oa_document_collection D ON D.document_uuid = A.uuid AND D.created_by = ?");
+		DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid, SpringMVCContextHolder.getCurrentUserId()}, fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE));
+		baseDao.listInternationDataTable(documentData, null);
+		return documentData;
+	}
 
-    @Override
-    public FieldSetEntity documentInfo(FieldSetEntity fieldSetEntity) throws BaseException {
-        String uuid = fieldSetEntity.getString(CmnConst.UUID);
-        FieldSetEntity fieldSet = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT, uuid, true);
-        String file_name = fieldSet.getString(CmnConst.FILE_NAME);
-        String user_ids = fieldSetEntity.getString(CmnConst.USER_IDS);
-        String read = fieldSetEntity.getString(CmnConst.READ_NUM);
-        if (!BaseUtil.strIsNull(user_ids)) {
-            fieldSetEntity.setValue(CmnConst.REQUIRED_NUMBER, user_ids.split(",").length);
-            fieldSetEntity.setValue(CmnConst.READ_NUM, read.split(",").length);
-        }
-        this.documentation(new Object[]{uuid}, "鏌ョ湅", new Object[]{file_name}, null);
-        return fieldSet;
-    }
+	@Override
+	public FieldSetEntity documentInfo(FieldSetEntity fieldSetEntity) throws BaseException {
+		String uuid = fieldSetEntity.getString(CmnConst.UUID);
+		FieldSetEntity fieldSet = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT, uuid, true);
+		String file_name = fieldSet.getString(CmnConst.FILE_NAME);
+		String user_ids = fieldSetEntity.getString(CmnConst.USER_IDS);
+		String read = fieldSetEntity.getString(CmnConst.READ_NUM);
+		if (!BaseUtil.strIsNull(user_ids)) {
+			fieldSetEntity.setValue(CmnConst.REQUIRED_NUMBER, user_ids.split(",").length);
+			fieldSetEntity.setValue(CmnConst.READ_NUM, read.split(",").length);
+		}
+		this.documentation(new Object[]{uuid}, "鏌ョ湅", new Object[]{file_name}, null);
+		return fieldSet;
+	}
 
-    @Override
-    public void documentation(Object[] uuid, String opetype, Object[] file_name, String file_directory) throws BaseException {
-        //鑾峰彇鏂囦欢淇℃伅瀛樺叆鏃ュ織琛�
-        SystemUser user = SpringMVCContextHolder.getCurrentUser();
-        DataTableEntity dataTableEntity = new DataTableEntity();
-        FieldMetaEntity fieldMeta = new FieldMetaEntity();
-        fieldMeta.setTableName(new String[]{CmnConst.PRODUCT_OA_DOCUMENT_LOG});
-        dataTableEntity.setMeta(fieldMeta);
-        for (int i = 0; i < uuid.length; i++) {
-            FieldSetEntity fieldSetEntity = new FieldSetEntity();
-            fieldSetEntity.setTableName(CmnConst.PRODUCT_OA_DOCUMENT_LOG);
-            fieldSetEntity.setMeta(fieldMeta);
-            fieldSetEntity.setValue(CmnConst.DOCUMENT_UUID, uuid[i]);
-            //fieldSetEntity.setValue(CmnConst.RECORD,record);
-            fieldSetEntity.setValue(CmnConst.OPETYPE, opetype);
-            fieldSetEntity.setValue(CmnConst.OPE_DOCUMENT, file_name[i]);
-            StringBuffer state = new StringBuffer();
-            state.append(opetype)
-                    .append("浜哰")
-                    .append(file_name[i])
-                    .append("]");
-            if (!BaseUtil.strIsNull(file_directory)) {
-                state.append("鍒�").append(file_directory).append("鐩綍涓�");
-            }
-            fieldSetEntity.setValue(CmnConst.STATE, state.toString()); //璇存槑
-            fieldSetEntity.setValue(CmnConst.CREATED_BY, user.getUser_id());// 鍒涘缓浜�
-            fieldSetEntity.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿
-            dataTableEntity.addFieldSetEntity(fieldSetEntity);
-        }
-        baseDao.add(dataTableEntity);
-    }
+	@Override
+	public void documentation(Object[] uuid, String opetype, Object[] file_name, String file_directory) throws BaseException {
+		//鑾峰彇鏂囦欢淇℃伅瀛樺叆鏃ュ織琛�
+		SystemUser user = SpringMVCContextHolder.getCurrentUser();
+		DataTableEntity dataTableEntity = new DataTableEntity();
+		FieldMetaEntity fieldMeta = new FieldMetaEntity();
+		fieldMeta.setTableName(new String[]{CmnConst.PRODUCT_OA_DOCUMENT_LOG});
+		dataTableEntity.setMeta(fieldMeta);
+		for (int i = 0; i < uuid.length; i++) {
+			FieldSetEntity fieldSetEntity = new FieldSetEntity();
+			fieldSetEntity.setTableName(CmnConst.PRODUCT_OA_DOCUMENT_LOG);
+			fieldSetEntity.setMeta(fieldMeta);
+			fieldSetEntity.setValue(CmnConst.DOCUMENT_UUID, uuid[i]);
+			//fieldSetEntity.setValue(CmnConst.RECORD,record);
+			fieldSetEntity.setValue(CmnConst.OPETYPE, opetype);
+			fieldSetEntity.setValue(CmnConst.OPE_DOCUMENT, file_name[i]);
+			StringBuffer state = new StringBuffer();
+			state.append(opetype).append("浜哰").append(file_name[i]).append("]");
+			if (!BaseUtil.strIsNull(file_directory)) {
+				state.append("鍒�").append(file_directory).append("鐩綍涓�");
+			}
+			fieldSetEntity.setValue(CmnConst.STATE, state.toString()); //璇存槑
+			fieldSetEntity.setValue(CmnConst.CREATED_BY, user.getUser_id());// 鍒涘缓浜�
+			fieldSetEntity.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿
+			dataTableEntity.addFieldSetEntity(fieldSetEntity);
+		}
+		baseDao.add(dataTableEntity);
+	}
 
-    @Override
-    public void documentRepeatOrder(Object[] uuid, String opetype, Object[] file_name, Object[] newFile_name) throws BaseException {
-        //鑾峰彇鏂囦欢淇℃伅瀛樺叆鏃ュ織琛�
-        SystemUser user = SpringMVCContextHolder.getCurrentUser();
-        DataTableEntity dataTableEntity = new DataTableEntity();
-        FieldMetaEntity fieldMeta = new FieldMetaEntity();
-        fieldMeta.setTableName(new String[]{CmnConst.PRODUCT_OA_DOCUMENT_LOG});
-        dataTableEntity.setMeta(fieldMeta);
-        for (int i = 0; i < uuid.length; i++) {
-            FieldSetEntity fieldSetEntity = new FieldSetEntity();
-            fieldSetEntity.setTableName(CmnConst.PRODUCT_OA_DOCUMENT_LOG);
-            fieldSetEntity.setMeta(fieldMeta);
-            fieldSetEntity.setValue(CmnConst.DOCUMENT_UUID, uuid[i]);
-            //fieldSetEntity.setValue(CmnConst.RECORD,record);
-            fieldSetEntity.setValue(CmnConst.OPETYPE, opetype);
-            fieldSetEntity.setValue(CmnConst.OPE_DOCUMENT, file_name[i]);
-            StringBuffer state = new StringBuffer();
-            state.append("鎶奫")
-                    .append(file_name[i])
-                    .append("]")
-                    .append(opetype)
-                    .append("涓篬")
-                    .append(newFile_name[i])
-                    .append("]");
-            fieldSetEntity.setValue(CmnConst.STATE, state.toString()); //璇存槑
-            fieldSetEntity.setValue(CmnConst.CREATED_BY, user.getUser_id());// 鍒涘缓浜�
-            fieldSetEntity.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿
-            dataTableEntity.addFieldSetEntity(fieldSetEntity);
-        }
-        baseDao.add(dataTableEntity);
-    }
+	@Override
+	public void documentRepeatOrder(Object[] uuid, String opetype, Object[] file_name, Object[] newFile_name) throws BaseException {
+		//鑾峰彇鏂囦欢淇℃伅瀛樺叆鏃ュ織琛�
+		SystemUser user = SpringMVCContextHolder.getCurrentUser();
+		DataTableEntity dataTableEntity = new DataTableEntity();
+		FieldMetaEntity fieldMeta = new FieldMetaEntity();
+		fieldMeta.setTableName(new String[]{CmnConst.PRODUCT_OA_DOCUMENT_LOG});
+		dataTableEntity.setMeta(fieldMeta);
+		for (int i = 0; i < uuid.length; i++) {
+			FieldSetEntity fieldSetEntity = new FieldSetEntity();
+			fieldSetEntity.setTableName(CmnConst.PRODUCT_OA_DOCUMENT_LOG);
+			fieldSetEntity.setMeta(fieldMeta);
+			fieldSetEntity.setValue(CmnConst.DOCUMENT_UUID, uuid[i]);
+			//fieldSetEntity.setValue(CmnConst.RECORD,record);
+			fieldSetEntity.setValue(CmnConst.OPETYPE, opetype);
+			fieldSetEntity.setValue(CmnConst.OPE_DOCUMENT, file_name[i]);
+			StringBuffer state = new StringBuffer();
+			state.append("鎶奫").append(file_name[i]).append("]").append(opetype).append("涓篬").append(newFile_name[i]).append("]");
+			fieldSetEntity.setValue(CmnConst.STATE, state.toString()); //璇存槑
+			fieldSetEntity.setValue(CmnConst.CREATED_BY, user.getUser_id());// 鍒涘缓浜�
+			fieldSetEntity.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿
+			dataTableEntity.addFieldSetEntity(fieldSetEntity);
+		}
+		baseDao.add(dataTableEntity);
+	}
 
-    public boolean verifyOrgExist(String org) {
-        Integer user_id = SpringMVCContextHolder.getCurrentUser().getUser_id();
-        String code = SpringMVCContextHolder.getCurrentUser().getCurrentStaff().getString("tricode");
-        //鑾峰彇鎵�鏈変笂绾х紪鐮�
-        String[] superior_code = new String[code.split("-").length - 1];
-        for (int i = 0; i < code.split("-").length - 1; i++) {
-            superior_code[i] = code.substring(0, code.length() - ((i + 1) * 4));
-        }
-        String this_user = String.valueOf(user_id);
-        SpringMVCContextHolder.getCurrentUser().getLanguageCode();
-        String[][] orgArr = BaseUtil.decomposesMultipleTypeValues(org);
-        String[] user = orgArr[3];
-        if (null != user) {
-            for (int i = 0; i < user.length; i++) {
-                if (this_user.equals(user[i])) {
-                    return true;
-                }
-            }
-        }
-        String[] level = orgArr[0];
-        String[] dept = orgArr[1];
-        // List<String> list = Arrays.asList(a);  --OK
-        // List<String> list = Arrays.asList("A","B","C"); --OK
-        // list.add("F"); --UnsupportedOperationException
-        // list.remove("A"); --UnsupportedOperationException
-        // list.set(1,"javaee");--OK (鍥犱负鏄妸鏁扮粍杞负闆嗗悎锛屽叾鏈川杩樻槸鏁扮粍锛屾暟缁勯暱搴﹀浐瀹氫笉鍙橈紝浣嗗唴瀹瑰彲浠ユ敼鍙�)
-        // 缁撹锛氳櫧鐒跺彲浠ユ妸鏁扮粍杞负闆嗗悎锛屼絾鏄泦鍚堥暱搴︿笉鑳芥敼鍙�
-        List list = new ArrayList();
-        ;
-        if (null != level) {
-            list.addAll(Arrays.asList(level));
-        }
-        if (null != dept) {
-            list.addAll(Arrays.asList(dept));
-        }
-        String[] level_dept = new String[list.size()];
-        list.toArray(level_dept);
+	public boolean verifyOrgExist(String org) {
+		Integer user_id = SpringMVCContextHolder.getCurrentUser().getUser_id();
+		String code = SpringMVCContextHolder.getCurrentUser().getCurrentStaff().getString("tricode");
+		//鑾峰彇鎵�鏈変笂绾х紪鐮�
+		String[] superior_code = new String[code.split("-").length - 1];
+		for (int i = 0; i < code.split("-").length - 1; i++) {
+			superior_code[i] = code.substring(0, code.length() - ((i + 1) * 4));
+		}
+		String this_user = String.valueOf(user_id);
+		SpringMVCContextHolder.getCurrentUser().getLanguageCode();
+		String[][] orgArr = BaseUtil.decomposesMultipleTypeValues(org);
+		String[] user = orgArr[3];
+		if (null != user) {
+			for (int i = 0; i < user.length; i++) {
+				if (this_user.equals(user[i])) {
+					return true;
+				}
+			}
+		}
+		String[] level = orgArr[0];
+		String[] dept = orgArr[1];
+		// List<String> list = Arrays.asList(a);  --OK
+		// List<String> list = Arrays.asList("A","B","C"); --OK
+		// list.add("F"); --UnsupportedOperationException
+		// list.remove("A"); --UnsupportedOperationException
+		// list.set(1,"javaee");--OK (鍥犱负鏄妸鏁扮粍杞负闆嗗悎锛屽叾鏈川杩樻槸鏁扮粍锛屾暟缁勯暱搴﹀浐瀹氫笉鍙橈紝浣嗗唴瀹瑰彲浠ユ敼鍙�)
+		// 缁撹锛氳櫧鐒跺彲浠ユ妸鏁扮粍杞负闆嗗悎锛屼絾鏄泦鍚堥暱搴︿笉鑳芥敼鍙�
+		List list = new ArrayList();
+		;
+		if (null != level) {
+			list.addAll(Arrays.asList(level));
+		}
+		if (null != dept) {
+			list.addAll(Arrays.asList(dept));
+		}
+		String[] level_dept = new String[list.size()];
+		list.toArray(level_dept);
 
 
-        String[] post = orgArr[2];
-        if (level_dept.length != 0) {
-            DataTableEntity org_level_uuid = baseDao.listTable(CmnConst.TABLE_PRODUCT_SYS_ORG_LEVELS, BaseUtil.buildQuestionMarkFilter("uuid", level_dept, true) + " and " + BaseUtil.buildQuestionMarkFilter("org_level_code", superior_code, true), new String[]{});
-            if (org_level_uuid.getRows() > 0) return true;
-        }
-        if (null != post) {
-            DataTableEntity post_uuid = baseDao.listTable(CmnConst.PRODUCT_SYS_STAFFS, BaseUtil.buildQuestionMarkFilter("job_post_uuid", post, true) + " and user_id=?", new String[]{this_user});
-            if (post_uuid.getRows() > 0) return true;
-        }
-        return false;
-    }
+		String[] post = orgArr[2];
+		if (level_dept.length != 0) {
+			DataTableEntity org_level_uuid = baseDao.listTable(CmnConst.TABLE_PRODUCT_SYS_ORG_LEVELS, BaseUtil.buildQuestionMarkFilter("uuid", level_dept, true) + " and " + BaseUtil.buildQuestionMarkFilter("org_level_code", superior_code, true), new String[]{});
+			if (org_level_uuid.getRows() > 0) return true;
+		}
+		if (null != post) {
+			DataTableEntity post_uuid = baseDao.listTable(CmnConst.PRODUCT_SYS_STAFFS, BaseUtil.buildQuestionMarkFilter("job_post_uuid", post, true) + " and user_id=?", new String[]{this_user});
+			if (post_uuid.getRows() > 0) return true;
+		}
+		return false;
+	}
 
-    @Override
-    public FieldSetEntity getButtonPermissions(FieldSetEntity fieldSetEntity) throws BaseException {
-        String butt = "";
-        DataTableEntity dataTable = null;
-        FieldSetEntity fse = new FieldSetEntity();
-        fse.setTableName(CmnConst.PRODUCT_OA_DOCUMENT);
-        if ("1".equals(fieldSetEntity.getString(CmnConst.DIRECTORY_TYPE))) {
-            //鑾峰彇鐨剈ser_id
-            Integer user_id = SpringMVCContextHolder.getCurrentUser().getUser_id();
-            String key = "%," + user_id + ",%";
-            String directory_uuid = fieldSetEntity.getString(CmnConst.DIRECTORY_UUID);
-            //String key = "%,140,%";
-            DataTableEntity dataTableEntity = new DataTableEntity();
-            FieldSetEntity org = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_OA_DIRECTORY_RIGHTS, "directory_uuid=?", new String[]{directory_uuid}, false);
-            if (verifyOrgExist(org.getString("storage_uuid"))) {
-                StringBuffer sql = new StringBuffer();
-                sql.append(" SELECT  substring_index(substring_index(a.rigths,',',b.help_topic_id+1),',',-1) fun FROM  PRODUCT_OA_directory_rights a ")
-                        .append(" INNER join   mysql.help_topic b on b.help_topic_id < (length(a.rigths) - length(replace(a.rigths,',',''))+1) ")
-                        .append(" WHERE a.directory_uuid = ? ");
-                dataTableEntity = baseDao.listTable(sql.toString(), new String[]{directory_uuid});
-            }
-            StringBuffer button = new StringBuffer();
-            if (!BaseUtil.dataTableIsEmpty(dataTableEntity)) {
-                for (int i = 0, length = dataTableEntity.getRows(); i < length; i++) {
-                    FieldSetEntity field = dataTableEntity.getFieldSetEntity(i);
-                    String fun = field.getString("fun");
-                    //鏉冮檺1(鏌ョ湅),2(涓嬭浇),3(鏂板涓婁紶),4(淇敼,閲嶅懡鍚�),5(鍒犻櫎),6(绉诲姩)
-                    button.append(fun).append(",");
-                    if ("1".equals(fun)) {
-                        //鏈夋煡鐪嬫潈闄愬氨鍔犺浇鍒楄〃
-                        dataTable = this.documentAll(fieldSetEntity);
-                    }
-                }
-            }
-            if (!BaseUtil.strIsNull(button.toString())) {
-                butt = button.substring(0, button.length() - 1);
-            }
-        } else {
-            dataTable = this.documentAll(fieldSetEntity);
-        }
-        Map<String, DataTableEntity> dataMap = MapUtils.newHashMap();
-        fse.setValue("button", butt);
-        //鍔犺浇鏂囦欢璺緞
-        DataTableEntity file_list = documentDirectoryService.getDirectoryStructure(fieldSetEntity);
-        dataMap.put("file_list", file_list);
-        if (BaseUtil.dataTableIsEmpty(dataTable) || dataTable.getSqle() == null) {
-            fse.setValue(CmnConst.PAGESIZE, 0);
-            fse.setValue(CmnConst.CPAGE, 0);
-            fse.setValue("total", 0);
-        } else {
-            dataMap.put("dataTable", dataTable);
-            fse.setValue(CmnConst.PAGESIZE, dataTable.getSqle().getPsize());
-            fse.setValue(CmnConst.CPAGE, dataTable.getSqle().getPindex());
-            fse.setValue("total", dataTable.getSqle().getTotalCount());
-        }
-        fse.setSubData(dataMap);
+	@Override
+	public FieldSetEntity getButtonPermissions(FieldSetEntity fieldSetEntity) throws BaseException {
+		String butt = "";
+		DataTableEntity dataTable = null;
+		FieldSetEntity fse = new FieldSetEntity();
+		fse.setTableName(CmnConst.PRODUCT_OA_DOCUMENT);
+		if ("1".equals(fieldSetEntity.getString(CmnConst.DIRECTORY_TYPE))) {
+			//鑾峰彇鐨剈ser_id
+			Integer user_id = SpringMVCContextHolder.getCurrentUser().getUser_id();
+			String key = "%," + user_id + ",%";
+			String directory_uuid = fieldSetEntity.getString(CmnConst.DIRECTORY_UUID);
+			//String key = "%,140,%";
+			DataTableEntity dataTableEntity = new DataTableEntity();
+			FieldSetEntity org = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_OA_DIRECTORY_RIGHTS, "directory_uuid=?", new String[]{directory_uuid}, false);
+			if (verifyOrgExist(org.getString("storage_uuid"))) {
+				StringBuffer sql = new StringBuffer();
+				sql.append(" SELECT  substring_index(substring_index(a.rigths,',',b.help_topic_id+1),',',-1) fun FROM  PRODUCT_OA_directory_rights a ").append(" INNER join   mysql.help_topic b on b.help_topic_id < (length(a.rigths) - length(replace(a.rigths,',',''))+1) ").append(" WHERE a.directory_uuid = ? ");
+				dataTableEntity = baseDao.listTable(sql.toString(), new String[]{directory_uuid});
+			}
+			StringBuffer button = new StringBuffer();
+			if (!BaseUtil.dataTableIsEmpty(dataTableEntity)) {
+				for (int i = 0, length = dataTableEntity.getRows(); i < length; i++) {
+					FieldSetEntity field = dataTableEntity.getFieldSetEntity(i);
+					String fun = field.getString("fun");
+					//鏉冮檺1(鏌ョ湅),2(涓嬭浇),3(鏂板涓婁紶),4(淇敼,閲嶅懡鍚�),5(鍒犻櫎),6(绉诲姩)
+					button.append(fun).append(",");
+					if ("1".equals(fun)) {
+						//鏈夋煡鐪嬫潈闄愬氨鍔犺浇鍒楄〃
+						dataTable = this.documentAll(fieldSetEntity);
+					}
+				}
+			}
+			if (!BaseUtil.strIsNull(button.toString())) {
+				butt = button.substring(0, button.length() - 1);
+			}
+		} else {
+			dataTable = this.documentAll(fieldSetEntity);
+		}
+		Map<String, DataTableEntity> dataMap = MapUtils.newHashMap();
+		fse.setValue("button", butt);
+		//鍔犺浇鏂囦欢璺緞
+		DataTableEntity file_list = documentDirectoryService.getDirectoryStructure(fieldSetEntity);
+		dataMap.put("file_list", file_list);
+		if (BaseUtil.dataTableIsEmpty(dataTable) || dataTable.getSqle() == null) {
+			fse.setValue(CmnConst.PAGESIZE, 0);
+			fse.setValue(CmnConst.CPAGE, 0);
+			fse.setValue("total", 0);
+		} else {
+			dataMap.put("dataTable", dataTable);
+			fse.setValue(CmnConst.PAGESIZE, dataTable.getSqle().getPsize());
+			fse.setValue(CmnConst.CPAGE, dataTable.getSqle().getPindex());
+			fse.setValue("total", dataTable.getSqle().getTotalCount());
+		}
+		fse.setSubData(dataMap);
 
-        return fse;
-    }
+		return fse;
+	}
 
-    @Override
-    public JSONObject popBoxGetFileDirectory(FieldSetEntity fse) throws BaseException {
-        //鏂囦欢鐩綍uuid
-        String directory_uuid = fse.getString(CmnConst.DIRECTORY_UUID);
-        String type = fse.getString(CmnConst.DIRECTORY_TYPE);
-        List<Object> param = ListUtils.newArrayList();
-        SystemUser user = SpringMVCContextHolder.getCurrentUser();
-        StringBuffer sql = new StringBuffer();
-        //1涓哄叕鍙告枃浠剁洰褰�
-        if ("1".equals(type)) {
-            //String staffId = user.getCurrentStaff().getString("staff_id");
-            sql.append(" select a.* from PRODUCT_OA_directory a  ")
-                    .append(" LEFT JOIN (  SELECT a.directory_uuid FROM PRODUCT_OA_directory_rights a  LEFT JOIN product_sys_organizational_structure_storage b ")
-                    .append(" on a.storage_uuid = b.uuid WHERE a.rigths like '%3%' AND CONCAT(',',b.staff_ids,',') like ? GROUP BY ")
-                    .append(" a.directory_uuid) b ON a.uuid = b.directory_uuid  where a.directory_type = 1  and a.org_level_uuid = ? ");
-            String staffId = "%" + user.getCurrentStaff().getString("staff_id") + "%";
-            param.add(staffId);
-            param.add(user.getOrg_level_uuid());
-            //param.add("%,140,%");
-        } else {
-            sql.append(" select * from PRODUCT_OA_directory where directory_type = 2 AND created_by = ? ");
-            param.add(user.getUser_id());
-        }
-        JSONObject object = new JSONObject();
-        //directory_uuid涓虹┖灏辨槸鏈�夋嫨鏂囦欢鐩綍  鑾峰彇褰撳墠鏍圭洰褰曞垪琛�
-        if (BaseUtil.strIsNull(directory_uuid)) {
-            sql.append(" and directory_tier = 1 ");
-            //涓嶄负绌哄氨鑾峰彇閫夋嫨鏂囦欢鐩綍
-        } else {
-            String triCode = fse.getString(CmnConst.TRICODE);
-            param.add(triCode);
-            sql.append(" and tricode_parent = ? ");
-            //鍔犺浇鏂囦欢璺緞
-            DataTableEntity dataTableEntity = documentDirectoryService.getDirectoryStructure(fse);
-            object.put("product_oa_directory_path", BaseUtil.dataTableEntityToJson(dataTableEntity));
-        }
-        //sql.append(" GROUP BY tricode,tricode_parent,directory_name");
-        DataTableEntity data = baseDao.listTable(sql.toString(), param.toArray());
+	@Override
+	public JSONObject popBoxGetFileDirectory(FieldSetEntity fse) throws BaseException {
+		//鏂囦欢鐩綍uuid
+		String directory_uuid = fse.getString(CmnConst.DIRECTORY_UUID);
+		String type = fse.getString(CmnConst.DIRECTORY_TYPE);
+		List<Object> param = ListUtils.newArrayList();
+		SystemUser user = SpringMVCContextHolder.getCurrentUser();
+		StringBuffer sql = new StringBuffer();
+		//1涓哄叕鍙告枃浠剁洰褰�
+		if ("1".equals(type)) {
+			//String staffId = user.getCurrentStaff().getString("staff_id");
+			sql.append(" select a.* from PRODUCT_OA_directory a  ").append(" LEFT JOIN (  SELECT a.directory_uuid FROM PRODUCT_OA_directory_rights a  LEFT JOIN product_sys_organizational_structure_storage b ").append(" on a.storage_uuid = b.uuid WHERE a.rigths like '%3%' AND CONCAT(',',b.staff_ids,',') like ? GROUP BY ").append(" a.directory_uuid) b ON a.uuid = b.directory_uuid  where a.directory_type = 1  and a.org_level_uuid = ? ");
+			String staffId = "%" + user.getCurrentStaff().getString("staff_id") + "%";
+			param.add(staffId);
+			param.add(user.getOrg_level_uuid());
+			//param.add("%,140,%");
+		} else {
+			sql.append(" select * from PRODUCT_OA_directory where directory_type = 2 AND created_by = ? ");
+			param.add(user.getUser_id());
+		}
+		JSONObject object = new JSONObject();
+		//directory_uuid涓虹┖灏辨槸鏈�夋嫨鏂囦欢鐩綍  鑾峰彇褰撳墠鏍圭洰褰曞垪琛�
+		if (BaseUtil.strIsNull(directory_uuid)) {
+			sql.append(" and directory_tier = 1 ");
+			//涓嶄负绌哄氨鑾峰彇閫夋嫨鏂囦欢鐩綍
+		} else {
+			String triCode = fse.getString(CmnConst.TRICODE);
+			param.add(triCode);
+			sql.append(" and tricode_parent = ? ");
+			//鍔犺浇鏂囦欢璺緞
+			DataTableEntity dataTableEntity = documentDirectoryService.getDirectoryStructure(fse);
+			object.put("product_oa_directory_path", BaseUtil.dataTableEntityToJson(dataTableEntity));
+		}
+		//sql.append(" GROUP BY tricode,tricode_parent,directory_name");
+		DataTableEntity data = baseDao.listTable(sql.toString(), param.toArray());
 
-        object.put("product_oa_directory_sub", BaseUtil.dataTableEntityToJson(data));
-        baseDao.listInternationDataTable(data, null);
+		object.put("product_oa_directory_sub", BaseUtil.dataTableEntityToJson(data));
+		baseDao.listInternationDataTable(data, null);
 
-        return object;
-    }
+		return object;
+	}
 
-    @Override
-    @Transactional
-    public void downloadFile(FieldSetEntity fieldSetEntity) throws BaseException {
-        String uuid = fieldSetEntity.getString(CmnConst.UUID);
-        FieldSetEntity fieldSet = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT, uuid, false);
-        String file_name = fieldSet.getString(CmnConst.FILE_NAME);
-        this.documentation(new String[]{uuid}, "涓嬭浇", new String[]{file_name}, null);
-        this.markRead(fieldSet);
-    }
+	@Override
+	@Transactional
+	public void downloadFile(FieldSetEntity fieldSetEntity) throws BaseException {
+		String uuid = fieldSetEntity.getString(CmnConst.UUID);
+		FieldSetEntity fieldSet = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT, uuid, false);
+		String file_name = fieldSet.getString(CmnConst.FILE_NAME);
+		this.documentation(new String[]{uuid}, "涓嬭浇", new String[]{file_name}, null);
+		this.markRead(fieldSet);
+	}
 
-    @Override
-    public void markRead(FieldSetEntity fieldSetEntity) throws BaseException {
+	@Override
+	public void markRead(FieldSetEntity fieldSetEntity) throws BaseException {
 
-        //鑾峰彇蹇呰浜哄憳ID闆�
-        String user_ids = fieldSetEntity.getString(CmnConst.USER_IDS);
-        String read = fieldSetEntity.getString(CmnConst.READ_NUM);
-        SystemUser user = SpringMVCContextHolder.getCurrentUser();
-        user_ids = "," + user_ids + ",";
-        String rawRead = "," + read + ",";
-        String userId = "," + user.getUser_id() + ",";
-        //濡傛灉鍖呭惈鐢ㄦ埛ID
-        if (BaseUtil.strIsNull(read)) {
-            fieldSetEntity.setValue(CmnConst.READ_NUM, user.getUser_id());
-            baseDao.update(fieldSetEntity);
-        } else {
-            if (user_ids.contains(userId) && !rawRead.contains(userId)) {
-                read = read + "," + user.getUser_id();
-                fieldSetEntity.setValue(CmnConst.READ_NUM, read);
-                baseDao.update(fieldSetEntity);
-            }
-        }
-    }
+		//鑾峰彇蹇呰浜哄憳ID闆�
+		String user_ids = fieldSetEntity.getString(CmnConst.USER_IDS);
+		String read = fieldSetEntity.getString(CmnConst.READ_NUM);
+		SystemUser user = SpringMVCContextHolder.getCurrentUser();
+		user_ids = "," + user_ids + ",";
+		String rawRead = "," + read + ",";
+		String userId = "," + user.getUser_id() + ",";
+		//濡傛灉鍖呭惈鐢ㄦ埛ID
+		if (BaseUtil.strIsNull(read)) {
+			fieldSetEntity.setValue(CmnConst.READ_NUM, user.getUser_id());
+			baseDao.update(fieldSetEntity);
+		} else {
+			if (user_ids.contains(userId) && !rawRead.contains(userId)) {
+				read = read + "," + user.getUser_id();
+				fieldSetEntity.setValue(CmnConst.READ_NUM, read);
+				baseDao.update(fieldSetEntity);
+			}
+		}
+	}
 
-    /**
-     * 绉诲姩锛堟枃浠舵壒閲忕Щ鍔級6
-     *
-     * @param
-     * @return
-     * @throws BaseException
-     */
-    @Override
-    @Transactional
-    public boolean fileMoveTo(FieldSetEntity fse) throws BaseException {
-        String directory_uuid = fse.getString(CmnConst.DIRECTORY_UUID);
-        Integer directory_type = fse.getInteger(CmnConst.DIRECTORY_TYPE);
-        Integer row = 0;
-        //1涓哄叕鍙告枃浠跺す
-        if (directory_type == 1) {
-            StringBuffer sql = new StringBuffer();
-            sql.append(" SELECT * FROM PRODUCT_OA_directory_rights  ")
-                    .append(" WHERE directory_uuid = ? ")
-                    .append(" AND rigths like '%3%' AND concat(',',storage_uuid,',') like ? ");//3涓烘柊澧�
-            String user_id = String.valueOf(SpringMVCContextHolder.getCurrentUser().getUser_id());
-            user_id = "%," + user_id + ",%";
-            DataTableEntity dataTableEntity = baseDao.listTable(sql.toString(), new String[]{directory_uuid, user_id});
-            row = dataTableEntity.getRows();
-        }
-        //1涓轰釜浜烘枃浠跺す
-        if (directory_type == 2 || row > 0) {
-            FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DIRECTORY, directory_uuid, false);
-            //鑾峰彇绉诲姩鍒扮殑鐩綍鍚�
-            String directory_name = fieldSetEntity.getString(CmnConst.DIRECTORY_NAME);
-            String uuids = fse.getString(CmnConst.UUID);
-            String[] uuid = uuids.split(",");
-            DataTableEntity dataTable = baseDao.listTable(CmnConst.PRODUCT_OA_DOCUMENT, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuid.length, true), uuid);
-            List<String> uuidList = ListUtils.newArrayList();
-            List<String> fileNameList = ListUtils.newArrayList();
-            for (int i = 0, length = dataTable.getRows(); i < length; i++) {
-                uuidList.add(dataTable.getFieldSetEntity(i).getString(CmnConst.UUID));
-                fileNameList.add(dataTable.getFieldSetEntity(i).getString(CmnConst.FILE_NAME));
-            }
+	/**
+	 * 绉诲姩锛堟枃浠舵壒閲忕Щ鍔級6
+	 *
+	 * @param
+	 * @return
+	 * @throws BaseException
+	 */
+	@Override
+	@Transactional
+	public boolean fileMoveTo(FieldSetEntity fse) throws BaseException {
+		String directory_uuid = fse.getString(CmnConst.DIRECTORY_UUID);
+		Integer directory_type = fse.getInteger(CmnConst.DIRECTORY_TYPE);
+		Integer row = 0;
+		//1涓哄叕鍙告枃浠跺す
+		if (directory_type == 1) {
+			StringBuffer sql = new StringBuffer();
+			sql.append(" SELECT * FROM PRODUCT_OA_directory_rights  ").append(" WHERE directory_uuid = ? ").append(" AND rigths like '%3%' AND concat(',',storage_uuid,',') like ? ");//3涓烘柊澧�
+			String user_id = String.valueOf(SpringMVCContextHolder.getCurrentUser().getUser_id());
+			user_id = "%," + user_id + ",%";
+			DataTableEntity dataTableEntity = baseDao.listTable(sql.toString(), new String[]{directory_uuid, user_id});
+			row = dataTableEntity.getRows();
+		}
+		//1涓轰釜浜烘枃浠跺す
+		if (directory_type == 2 || row > 0) {
+			FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DIRECTORY, directory_uuid, false);
+			//鑾峰彇绉诲姩鍒扮殑鐩綍鍚�
+			String directory_name = fieldSetEntity.getString(CmnConst.DIRECTORY_NAME);
+			String uuids = fse.getString(CmnConst.UUID);
+			String[] uuid = uuids.split(",");
+			DataTableEntity dataTable = baseDao.listTable(CmnConst.PRODUCT_OA_DOCUMENT, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuid.length, true), uuid);
+			List<String> uuidList = ListUtils.newArrayList();
+			List<String> fileNameList = ListUtils.newArrayList();
+			for (int i = 0, length = dataTable.getRows(); i < length; i++) {
+				uuidList.add(dataTable.getFieldSetEntity(i).getString(CmnConst.UUID));
+				fileNameList.add(dataTable.getFieldSetEntity(i).getString(CmnConst.FILE_NAME));
+			}
 
-            String params = directory_uuid + "," + uuids;
-            String[] param = params.split(",");
-            boolean flag = baseDao.executeUpdate("UPDATE PRODUCT_OA_document SET directory_uuid = ? WHERE " + BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuid.length, true), param);
-            this.documentation(uuidList.toArray(), "绉诲姩", fileNameList.toArray(), directory_name);
-            return flag;
-        } else {
-            return false;
-        }
-    }
+			String params = directory_uuid + "," + uuids;
+			String[] param = params.split(",");
+			boolean flag = baseDao.executeUpdate("UPDATE PRODUCT_OA_document SET directory_uuid = ? WHERE " + BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuid.length, true), param);
+			this.documentation(uuidList.toArray(), "绉诲姩", fileNameList.toArray(), directory_name);
+			return flag;
+		} else {
+			return false;
+		}
+	}
 
-    @Override
-    public DataTableEntity getDocumentLog(FieldSetEntity fieldSetEntity) throws BaseException {
-        return baseDao.listTable("SELECT CONCAT(b.show_name, a.state) log,a.created_utc_datetime FROM PRODUCT_OA_document_log a LEFT JOIN product_sys_staffs b on a.created_by = b.user_id WHERE document_uuid = ? ORDER BY a.created_utc_datetime DESC",
-                new String[]{fieldSetEntity.getString(CmnConst.DOCUMENT_UUID)}, fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE));
-    }
+	@Override
+	public DataTableEntity getDocumentLog(FieldSetEntity fieldSetEntity) throws BaseException {
+		return baseDao.listTable("SELECT CONCAT(b.show_name, a.state) log,a.created_utc_datetime FROM PRODUCT_OA_document_log a LEFT JOIN product_sys_staffs b on a.created_by = b.user_id WHERE document_uuid = ? ORDER BY a.created_utc_datetime DESC", new String[]{fieldSetEntity.getString(CmnConst.DOCUMENT_UUID)}, fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE));
+	}
 
-    /**
-     * 	鏂囨。鏀惰棌
-     * @param fse
-     * @return
-     */
-    public String documentCollection(FieldSetEntity fse) {
-    	BaseUtil.createCreatorAndCreationTime(fse);
-    	fse.setValue("document_collector", SpringMVCContextHolder.getCurrentUserId());
-    	return baseDao.add(fse);
-    }
+	/**
+	 * 鏂囨。鏀惰棌
+	 *
+	 * @param fse
+	 * @return
+	 */
+	public String documentCollection(FieldSetEntity fse) {
+		BaseUtil.createCreatorAndCreationTime(fse);
+		fse.setValue("document_collector", SpringMVCContextHolder.getCurrentUserId());
+		return baseDao.add(fse);
+	}
 
-    /**
-     * 	鏂囨。鍙栨秷鏀惰棌
-     * @param documentUUID
-     * @return
-     */
-    public boolean documentCancelCollection(String documentUUID) {
-    	return baseDao.delete(CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION, "document_uuid = ? AND document_collector = ?", new Object[] {documentUUID, SpringMVCContextHolder.getCurrentUserId()});
-    }
+	/**
+	 * 鏂囨。鍙栨秷鏀惰棌
+	 *
+	 * @param documentUUID
+	 * @return
+	 */
+	public boolean documentCancelCollection(String documentUUID) {
+		return baseDao.delete(CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION, "document_uuid = ? AND document_collector = ?", new Object[]{documentUUID, SpringMVCContextHolder.getCurrentUserId()});
+	}
 
-    /**
-     * 	鏌ヨ鏂囨。鍘嗗彶鐗堟湰
-     * @param documentUUID
-     * @return
-     */
-    public DataTableEntity findDocumentHistory(String documentUUID) {
-    	StringBuilder sql = new StringBuilder();
-    	sql.append("SELECT A.*,B.file_name");
-    	sql.append("FROM product_oa_document_history A \n");
-    	sql.append("LEFT JOIN product_oa_document_history B ON B.uuid = A.document_uuid \n");
-    	sql.append("WHERE A.document_uuid = ?");
-    	sql.append("ORDER BY A.version_number");
-    	return baseDao.listTable(sql.toString(), new Object[] {documentUUID});
-    }
+	/**
+	 * 鏌ヨ鏂囨。鍘嗗彶鐗堟湰
+	 *
+	 * @param documentUUID
+	 * @return
+	 */
+	public DataTableEntity findDocumentHistory(String documentUUID) {
+		StringBuilder sql = new StringBuilder();
+		sql.append("SELECT A.*,B.file_name\n");
+		sql.append("FROM product_oa_document_history A \n");
+		sql.append("LEFT JOIN product_oa_document B ON B.uuid = A.document_uuid \n");
+		sql.append("WHERE A.document_uuid = ?\n");
+		sql.append("ORDER BY A.version_number");
+		return baseDao.listTable(sql.toString(), new Object[]{documentUUID});
+	}
 
-    /**
-     * 	鏂囨。鏈�鏂扮増鏈繚瀛�
-     * @param fse
-     * @return
-     */
-    @Transactional
-    public boolean documentSaveNewVersion(FieldSetEntity fse) {
-    	// 鑾峰彇鏂囨。鏁版嵁鍜屾渶澶х紪鍙�
-    	StringBuilder sql = new StringBuilder();
-    	sql.append("SELECT A.*, IFNULL(B.max_version_number, 'v0')AS max_version_number \n");
-    	sql.append("FROM product_oa_document A \n");
-    	sql.append("LEFT JOIN ( \n");
-    	sql.append("    SELECT document_uuid, MAX(version_number) AS max_version_number \n");
-    	sql.append("    FROM product_oa_document_history B \n");
-    	sql.append("	WHERE document_uuid = ? \n");
-    	sql.append("    GROUP BY document_uuid \n");
-    	sql.append(") B ON B.document_uuid = A.uuid \n");
-    	sql.append("WHERE uuid = ? \n");
-    	FieldSetEntity fseDocument = baseDao.getFieldSetEntityBySQL(sql.toString(), new Object[] {fse.getString("document_uuid"),fse.getString("document_uuid")}, false);
-    	if(fseDocument == null) {
-    		throw new BaseException(DocumentCode.DOCUMENT_DATA_NO_EXIST.getValue(), DocumentCode.DOCUMENT_DATA_NO_EXIST.getText());
-    	}
-    	fseDocument.setValue("attachments_uuid", fse.getString("attachment_uuid"));
-    	baseDao.saveFieldSetEntity(fseDocument);
+	/**
+	 * 鏂囨。鏈�鏂扮増鏈繚瀛�
+	 *
+	 * @param fse
+	 * @return
+	 */
+	@Transactional
+	public boolean documentSaveNewVersion(FieldSetEntity fse) {
+		// 鑾峰彇鏂囨。鏁版嵁鍜屾渶澶х紪鍙�
+		StringBuilder sql = new StringBuilder();
+		sql.append("SELECT A.*, IFNULL(B.max_version_number, '0')AS max_version_number \n");
+		sql.append("FROM product_oa_document A \n");
+		sql.append("LEFT JOIN ( \n");
+		sql.append("    SELECT document_uuid, MAX(version_number) AS max_version_number \n");
+		sql.append("    FROM product_oa_document_history B \n");
+		sql.append("	WHERE document_uuid = ? \n");
+		sql.append("    GROUP BY document_uuid \n");
+		sql.append(") B ON B.document_uuid = A.uuid \n");
+		sql.append("WHERE uuid = ? \n");
+		String documentUuid = fse.getString("document_uuid");
+		FieldSetEntity fseDocument = baseDao.getFieldSetEntityBySQL(sql.toString(), new Object[]{documentUuid, documentUuid}, false);
+		if (fseDocument == null) {
+			throw new BaseException(DocumentCode.DOCUMENT_DATA_NO_EXIST.getValue(), DocumentCode.DOCUMENT_DATA_NO_EXIST.getText());
+		}
 
-    	fse.setValue("version_number", versionNUmberAddne(fseDocument.getString("max_version_number")));
-    	return baseDao.saveFieldSetEntity(fse);
-    }
+		String attachmentUuid = fse.getString("attachment_uuid");
+		FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_ATTACHMENTS, attachmentUuid, false);
+		fseDocument.setValue("file_size", fieldSetEntity.getString(CmnConst.ATTACHMENT_SIZE));
+		fseDocument.setValue("file_name", fieldSetEntity.getString("file_name"));
+		fseDocument.setValue("attachments_uuid", attachmentUuid);
+		fseDocument.setValue("latest_version", fseDocument.getInteger("max_version_number") + 1);
 
-    /**
-     * 	鏂囨。鐗堟湰+1
-     * @param originNumber
-     * @return
-     */
-    public String versionNUmberAddne(String originNumber) {
-    	String numberStr = originNumber.substring(1); // 鍘绘帀鍓嶇紑"v"
-    	int number = Integer.parseInt(numberStr); // 灏嗗瓧绗︿覆杞�
-        // 鏁板瓧鍔犱竴
-        number += 1;
+		baseDao.saveFieldSetEntity(fseDocument);
 
-        // 閲嶆柊鏋勫缓瀛楃涓诧紙杩欓噷鎴戜滑鍋囪鍓嶇紑鎬绘槸"v"锛�
-        return "v" + number;
-    }
+		//鍒涘缓鏂囨。鐗堟湰鏁版嵁瀹瑰櫒
+		FieldSetEntity fseDocumentHistory = new FieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT_HISTORY);
+		BaseUtil.createCreatorAndCreationTime(fseDocumentHistory);
+		fseDocumentHistory.setValue("document_uuid", documentUuid);
+		fseDocumentHistory.setValue("attachment_uuid", attachmentUuid);
+		fseDocumentHistory.setValue("version_number", fseDocument.getObject("latest_version"));
+		return baseDao.saveFieldSetEntity(fseDocumentHistory);
+	}
 
-    @Override
-    public DataTableEntity getApplyDocument(FieldSetEntity fse) throws BaseException {
+	/**
+	 * 鏂囨。鐗堟湰+1
+	 *
+	 * @param originNumber
+	 * @return
+	 */
+	public String versionNUmberAddne(String originNumber) {
+		String numberStr = originNumber.substring(1); // 鍘绘帀鍓嶇紑"v"
+		int number = Integer.parseInt(numberStr); // 灏嗗瓧绗︿覆杞�
+		// 鏁板瓧鍔犱竴
+		number += 1;
 
-        DataTableEntity product_oa_document = new DataTableEntity();
-        StringBuilder sb=new StringBuilder();
-        sb.append(" select  d.*,f.show_name ");
-        sb.append(" from product_oa_document d ");
-        sb.append(" left join  product_sys_staffs f ");
-        sb.append(" on d.created_by=f.user_id ");
-        List<String> param=new ArrayList<>();
-        if(!ObjectUtil.isNotEmpty(fse.getString("document_name"))){
-            product_oa_document = baseDao.listTable(sb.toString(),param.toArray());
+		// 閲嶆柊鏋勫缓瀛楃涓诧紙杩欓噷鎴戜滑鍋囪鍓嶇紑鎬绘槸"v"锛�
+		return "v" + number;
+	}
 
-        }else {
-            String document_name = fse.getString("document_name");
-            sb.append(" where d.file_name like '%"+document_name+"%'");
-            product_oa_document = baseDao.listTable(sb.toString(),param.toArray());
+	@Override
+	public DataTableEntity getApplyDocument(FieldSetEntity fse) throws BaseException {
+
+		DataTableEntity product_oa_document = new DataTableEntity();
+		StringBuilder sb = new StringBuilder();
+		sb.append(" select  d.*,f.show_name ");
+		sb.append(" from product_oa_document d ");
+		sb.append(" left join  product_sys_staffs f ");
+		sb.append(" on d.created_by=f.user_id ");
+		List<String> param = new ArrayList<>();
+		if (!ObjectUtil.isNotEmpty(fse.getString("document_name"))) {
+			product_oa_document = baseDao.listTable(sb.toString(), param.toArray());
+
+		} else {
+			String document_name = fse.getString("document_name");
+			sb.append(" where d.file_name like '%" + document_name + "%'");
+			product_oa_document = baseDao.listTable(sb.toString(), param.toArray());
 
 
-        }
-        return  product_oa_document;
-    }
+		}
+		return product_oa_document;
+	}
 
-    @Override
-    public void addOrUpdateApplyDocument(FieldSetEntity fse) throws BaseException {
+	@Override
+	public void addOrUpdateApplyDocument(FieldSetEntity fse) throws BaseException {
 
-        String[] attachment = new String[0];
-        if(ObjectUtil.isNotEmpty(fse.getString("uuid"))){
-            UUID uuid = UUID.randomUUID();
-            fse.setValue("uuid",uuid);
-            baseDao.add(fse);
+		String[] attachment = new String[0];
+		if (ObjectUtil.isNotEmpty(fse.getString("uuid"))) {
+			UUID uuid = UUID.randomUUID();
+			fse.setValue("uuid", uuid);
+			baseDao.add(fse);
 
-            if(ObjectUtil.isNotEmpty(fse.getString("attachment_uuid"))){
-                String attachment_uuid = fse.getString("attachment_uuid");
-                attachment= attachment_uuid.split(",");
-            }
-            for (int i = 0; i < attachment.length; i++) {
-                FieldSetEntity fieldSetEntity = new FieldSetEntity();
-                fieldSetEntity.setTableName("product_oa_document_borrow_sub");
-                fieldSetEntity.setValue("borrow_uuid",uuid);
-                fieldSetEntity.setValue("sub_uuid",attachment[i]);
+			if (ObjectUtil.isNotEmpty(fse.getString("attachment_uuid"))) {
+				String attachment_uuid = fse.getString("attachment_uuid");
+				attachment = attachment_uuid.split(",");
+			}
+			for (int i = 0; i < attachment.length; i++) {
+				FieldSetEntity fieldSetEntity = new FieldSetEntity();
+				fieldSetEntity.setTableName("product_oa_document_borrow_sub");
+				fieldSetEntity.setValue("borrow_uuid", uuid);
+				fieldSetEntity.setValue("sub_uuid", attachment[i]);
 
-            }
+			}
 
-        }else {
-            String uuid = fse.getString("uuid");
-            String filter="borrow_uuid='"+uuid+"'";
-            //鍒犻櫎鍘熸潵闄勪欢淇℃伅
-            baseDao.delete("product_oa_document_borrow_sub",filter,new Object[]{});
-            baseDao.update(fse);
-            if(ObjectUtil.isNotEmpty(fse.getString("attachment_uuid"))){
-                String attachment_uuid = fse.getString("attachment_uuid");
-                attachment= attachment_uuid.split(",");
-            }
+		} else {
+			String uuid = fse.getString("uuid");
+			String filter = "borrow_uuid='" + uuid + "'";
+			//鍒犻櫎鍘熸潵闄勪欢淇℃伅
+			baseDao.delete("product_oa_document_borrow_sub", filter, new Object[]{});
+			baseDao.update(fse);
+			if (ObjectUtil.isNotEmpty(fse.getString("attachment_uuid"))) {
+				String attachment_uuid = fse.getString("attachment_uuid");
+				attachment = attachment_uuid.split(",");
+			}
 
-            //閲嶆柊璺熸柊闄勪欢淇℃伅
-            for (int i = 0; i < attachment.length; i++) {
-                FieldSetEntity fieldSetEntity = new FieldSetEntity();
-                fieldSetEntity.setTableName("product_oa_document_borrow_sub");
-                fieldSetEntity.setValue("borrow_uuid",uuid);
-                fieldSetEntity.setValue("sub_uuid",attachment[i]);
-                baseDao.add(fieldSetEntity);
+			//閲嶆柊璺熸柊闄勪欢淇℃伅
+			for (int i = 0; i < attachment.length; i++) {
+				FieldSetEntity fieldSetEntity = new FieldSetEntity();
+				fieldSetEntity.setTableName("product_oa_document_borrow_sub");
+				fieldSetEntity.setValue("borrow_uuid", uuid);
+				fieldSetEntity.setValue("sub_uuid", attachment[i]);
+				baseDao.add(fieldSetEntity);
 
-            }
+			}
 
 
-        }
+		}
 
-    }
+	}
 
-    @Override
-    public DataTableEntity getApplyFileSort() throws BaseException {
-        StringBuilder sb=new StringBuilder();
-        List<String> param=new ArrayList<>();
-        sb.append(" SELECT b.* FROM (");
-        sb.append(" SELECT t.uuid,t.file_name,s.show_name,t.created_utc_datetime,count(t.uuid) as applyCount");
-        sb.append(" FROM product_oa_document_borrow_sub b");
-        sb.append(" JOIN product_oa_document t");
-        sb.append(" on b.sub_uuid=t.uuid");
-        sb.append(" JOIN product_sys_staffs s ");
-        sb.append(" on t.created_by=s.user_id");
-        sb.append(" group by t.file_name,t.uuid,s.show_name,t.created_utc_datetime");
-        sb.append(" )b order by  b.applyCount asc");
-        DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(),param.toArray());
-        return dataTableEntity;
-    }
+	@Override
+	public DataTableEntity getApplyFileSort() throws BaseException {
+		StringBuilder sb = new StringBuilder();
+		List<String> param = new ArrayList<>();
+		sb.append(" SELECT b.* FROM (");
+		sb.append(" SELECT t.uuid,t.file_name,s.show_name,t.created_utc_datetime,count(t.uuid) as applyCount");
+		sb.append(" FROM product_oa_document_borrow_sub b");
+		sb.append(" JOIN product_oa_document t");
+		sb.append(" on b.sub_uuid=t.uuid");
+		sb.append(" JOIN product_sys_staffs s ");
+		sb.append(" on t.created_by=s.user_id");
+		sb.append(" group by t.file_name,t.uuid,s.show_name,t.created_utc_datetime");
+		sb.append(" )b order by  b.applyCount asc");
+		DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(), param.toArray());
+		return dataTableEntity;
+	}
 
-    @Override
-    public DataTableEntity getApplyUserSort() throws BaseException {
-        StringBuilder sb=new StringBuilder();
-        List<String> param=new ArrayList<>();
-        sb.append(" SELECT a.borrower,a.show_name,a.applayCount,a.applayFileCount ");
-        sb.append(" FROM (");
-        sb.append(" SELECT w.borrower,s.show_name,");
-        sb.append(" (select   count(borrower)  from  product_oa_document_borrow group by borrower ) as  applayCount,");
-        sb.append(" count(sub_uuid) as applayFileCount ");
-        sb.append(" FROM product_oa_document_borrow  w ");
-        sb.append(" JOIN product_oa_document_borrow_sub b");
-        sb.append(" on b.borrow_uuid=w.uuid");
-        sb.append(" JOIN product_oa_document t");
-        sb.append(" on b.sub_uuid=t.uuid");
-        sb.append(" JOIN product_sys_staffs s");
-        sb.append(" on w.borrower=s.user_id");
-        sb.append(" GROUP BY w.borrower,s.show_name");
-        sb.append(" )a");
-        sb.append(" order by a.applayCount,a.applayFileCount asc");
-        DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(),param.toArray());
-        return dataTableEntity;
-    }
+	@Override
+	public DataTableEntity getApplyUserSort() throws BaseException {
+		StringBuilder sb = new StringBuilder();
+		List<String> param = new ArrayList<>();
+		sb.append(" SELECT a.borrower,a.show_name,a.applayCount,a.applayFileCount ");
+		sb.append(" FROM (");
+		sb.append(" SELECT w.borrower,s.show_name,");
+		sb.append(" (select   count(borrower)  from  product_oa_document_borrow group by borrower ) as  applayCount,");
+		sb.append(" count(sub_uuid) as applayFileCount ");
+		sb.append(" FROM product_oa_document_borrow  w ");
+		sb.append(" JOIN product_oa_document_borrow_sub b");
+		sb.append(" on b.borrow_uuid=w.uuid");
+		sb.append(" JOIN product_oa_document t");
+		sb.append(" on b.sub_uuid=t.uuid");
+		sb.append(" JOIN product_sys_staffs s");
+		sb.append(" on w.borrower=s.user_id");
+		sb.append(" GROUP BY w.borrower,s.show_name");
+		sb.append(" )a");
+		sb.append(" order by a.applayCount,a.applayFileCount asc");
+		DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(), param.toArray());
+		return dataTableEntity;
+	}
 
-    @Override
-    public FieldSetEntity getApplyInfo(FieldSetEntity fes) throws BaseException {
-        String uuid = fes.getString("uuid");
-        FieldSetEntity product_oa_document_borrow = baseDao.getFieldSetEntity("product_oa_document_borrow", uuid, false);
-        return product_oa_document_borrow;
-    }
+	@Override
+	public FieldSetEntity getApplyInfo(FieldSetEntity fes) throws BaseException {
+		String uuid = fes.getString("uuid");
+		FieldSetEntity product_oa_document_borrow = baseDao.getFieldSetEntity("product_oa_document_borrow", uuid, false);
+		return product_oa_document_borrow;
+	}
 }

--
Gitblit v1.9.2