From 4d610081d9d2da1a4db118ce260d5afeea312d9f Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期三, 28 八月 2024 10:09:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

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

diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java
index 60767d4..a630423 100644
--- a/src/main/java/com/product/file/service/DocumentService.java
+++ b/src/main/java/com/product/file/service/DocumentService.java
@@ -40,644 +40,641 @@
 @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());
-			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);
+    @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);
 
-			//鍒涘缓鏂囨。鐗堟湰鏁版嵁瀹瑰櫒
-			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);
+            //鍒涘缓鏂囨。鐗堟湰鏁版嵁瀹瑰櫒
+            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);
 
-			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\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 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 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());
-		}
+    /**
+     * 	鏂囨。鏈�鏂扮増鏈繚瀛�
+     * @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);
 
-		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);
+    	fse.setValue("version_number", versionNUmberAddne(fseDocument.getString("max_version_number")));
+    	return baseDao.saveFieldSetEntity(fse);
+    }
 
-		baseDao.saveFieldSetEntity(fseDocument);
+    /**
+     * 	鏂囨。鐗堟湰+1
+     * @param originNumber
+     * @return
+     */
+    public String versionNUmberAddne(String originNumber) {
+    	String numberStr = originNumber.substring(1); // 鍘绘帀鍓嶇紑"v"
+    	int number = Integer.parseInt(numberStr); // 灏嗗瓧绗︿覆杞�
+        // 鏁板瓧鍔犱竴
+        number += 1;
 
-		//鍒涘缓鏂囨。鐗堟湰鏁版嵁瀹瑰櫒
-		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);
-	}
+        // 閲嶆柊鏋勫缓瀛楃涓诧紙杩欓噷鎴戜滑鍋囪鍓嶇紑鎬绘槸"v"锛�
+        return "v" + number;
+    }
 
-	/**
-	 * 鏂囨。鐗堟湰+1
-	 *
-	 * @param originNumber
-	 * @return
-	 */
-	public String versionNUmberAddne(String originNumber) {
-		String numberStr = originNumber.substring(1); // 鍘绘帀鍓嶇紑"v"
-		int number = Integer.parseInt(numberStr); // 灏嗗瓧绗︿覆杞�
-		// 鏁板瓧鍔犱竴
-		number += 1;
+    @Override
+    public DataTableEntity getApplyDocument(FieldSetEntity fse) throws BaseException {
 
-		// 閲嶆柊鏋勫缓瀛楃涓诧紙杩欓噷鎴戜滑鍋囪鍓嶇紑鎬绘槸"v"锛�
-		return "v" + number;
-	}
+        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());
 
-	@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());
+        }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,t.file_size,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,t.file_size");
+        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(" count( borrower )  AS applayCount,");
+        sb.append(" count(sub_uuid) as applayFileCount ");
+        sb.append(" FROM product_oa_document_borrow  w ");
+        sb.append(" left JOIN product_oa_document_borrow_sub b");
+        sb.append(" on b.borrow_uuid=w.uuid");
+        sb.append(" left JOIN product_oa_document t");
+        sb.append(" on b.sub_uuid=t.uuid");
+        sb.append(" left 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