From 60f5341a0b30529975f9297b8c735f92c2afc970 Mon Sep 17 00:00:00 2001
From: 2369059705@qq.com <2369059705@qq.com>
Date: 星期五, 26 五月 2023 11:03:04 +0800
Subject: [PATCH] 文档权限问题
---
src/main/java/com/product/file/config/CmnConst.java | 1
src/main/java/com/product/file/service/DocumentService.java | 790 +++++++++++++++++++++++++++----------------------------
2 files changed, 389 insertions(+), 402 deletions(-)
diff --git a/src/main/java/com/product/file/config/CmnConst.java b/src/main/java/com/product/file/config/CmnConst.java
index 5e7aa1e..0a8b795 100644
--- a/src/main/java/com/product/file/config/CmnConst.java
+++ b/src/main/java/com/product/file/config/CmnConst.java
@@ -25,6 +25,7 @@
public static final String product_oa_DOCUMENT = "product_oa_document"; //鏂囨。琛�
public static final String product_oa_DOCUMENT_LOG = "product_oa_document_log"; // 鏂囨。鎿嶄綔鏃ュ織琛�
public static final String PRODUCT_SYS_PRINT_TEMPLATE_RECORD = "product_sys_print_template_reocrd";// 鎵撳嵃妯℃澘璁板綍琛�
+ public static final String PRODUCT_SYS_STAFFS = "product_sys_staffs";
public static final String ATTACHMENT_CAPACITY = "attachment_capacity";
public static final String RESULT = "result";
diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java
index 2de5ac5..b4032a7 100644
--- a/src/main/java/com/product/file/service/DocumentService.java
+++ b/src/main/java/com/product/file/service/DocumentService.java
@@ -17,6 +17,7 @@
import com.product.file.config.CmnConst;
import com.product.file.service.ide.IDocumentService;
import com.product.module.sys.entity.SystemUser;
+import com.product.org.admin.service.OrganizationServiceV2;
import com.product.util.BaseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -36,428 +37,413 @@
@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;
+ @Autowired
+ OrganizationServiceV2 organizationServiceV2;
- @Override
- @Transactional
- public String addDocument(FieldSetEntity fieldSetEntity) throws BaseException {
- //鏂囦欢闄勪欢琛╱uid
- String uuIds = fieldSetEntity.getString(CmnConst.ATTACHMENTS_UUID);
- String directory_uuid = fieldSetEntity.getString(CmnConst.DIRECTORY_UUID);
- String[] uuid = uuIds.split(",");
- //鑾峰彇闄勪欢淇℃伅
- DataTableEntity attachments = baseDao.listTable(CmnConst.PRODUCT_SYS_ATTACHMENTS,BaseUtil.buildQuestionMarkFilter(CmnConst.UUID,uuid.length,true),uuid);
- List<String> uuidList = ListUtils.newArrayList();
- List<String> fileNameList = ListUtils.newArrayList();
- for (int i = 0,length=attachments.getRows(); i < length; i++) {
- FieldSetEntity fieldSet = new FieldSetEntity();
- fieldSet.setTableName(CmnConst.product_oa_DOCUMENT);
- FieldSetEntity fse = attachments.getFieldSetEntity(i);
- //鏂囦欢鐩綍uuid
- fieldSet.setValue(CmnConst.DIRECTORY_UUID,directory_uuid);
- //鏂囦欢澶у皬
- fieldSet.setValue(CmnConst.FILE_SIZE,fse.getString(CmnConst.ATTACHMENT_SIZE));
- //鏂囦欢鍚嶇О
- String file_name = fse.getString(CmnConst.FILE_NAME);
- fieldSet.setValue(CmnConst.FILE_NAME,file_name);
- //鏂囦欢绫诲瀷
- String file_type = file_name.substring(file_name.lastIndexOf(".")+1);
- fieldSet.setValue(CmnConst.FILE_TYPE, file_type);
- //闄勪欢uuid
- fieldSet.setValue(CmnConst.ATTACHMENTS_UUID, fse.getString(CmnConst.UUID));
- fieldSet.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 鍒涘缓浜�
- fieldSet.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿
- String file_uuid = baseDao.add(fieldSet);
- uuidList.add(file_uuid);
- fileNameList.add(file_name);
+ @Override
+ @Transactional
+ public String addDocument(FieldSetEntity fieldSetEntity) throws BaseException {
+ //鏂囦欢闄勪欢琛╱uid
+ String uuIds = fieldSetEntity.getString(CmnConst.ATTACHMENTS_UUID);
+ String directory_uuid = fieldSetEntity.getString(CmnConst.DIRECTORY_UUID);
+ String[] uuid = uuIds.split(",");
+ //鑾峰彇闄勪欢淇℃伅
+ DataTableEntity attachments = baseDao.listTable(CmnConst.PRODUCT_SYS_ATTACHMENTS, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuid.length, true), uuid);
+ List<String> uuidList = ListUtils.newArrayList();
+ List<String> fileNameList = ListUtils.newArrayList();
+ for (int i = 0, length = attachments.getRows(); i < length; i++) {
+ FieldSetEntity fieldSet = new FieldSetEntity();
+ fieldSet.setTableName(CmnConst.product_oa_DOCUMENT);
+ FieldSetEntity fse = attachments.getFieldSetEntity(i);
+ //鏂囦欢鐩綍uuid
+ fieldSet.setValue(CmnConst.DIRECTORY_UUID, directory_uuid);
+ //鏂囦欢澶у皬
+ fieldSet.setValue(CmnConst.FILE_SIZE, fse.getString(CmnConst.ATTACHMENT_SIZE));
+ //鏂囦欢鍚嶇О
+ String file_name = fse.getString(CmnConst.FILE_NAME);
+ fieldSet.setValue(CmnConst.FILE_NAME, file_name);
+ //鏂囦欢绫诲瀷
+ String file_type = file_name.substring(file_name.lastIndexOf(".") + 1);
+ fieldSet.setValue(CmnConst.FILE_TYPE, file_type);
+ //闄勪欢uuid
+ fieldSet.setValue(CmnConst.ATTACHMENTS_UUID, fse.getString(CmnConst.UUID));
+ fieldSet.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 鍒涘缓浜�
+ fieldSet.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿
+ String file_uuid = baseDao.add(fieldSet);
+ uuidList.add(file_uuid);
+ fileNameList.add(file_name);
+ }
+ this.documentation(uuidList.toArray(), "鏂板", fileNameList.toArray(), null);
+ return uuidList.toString();
}
- 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;
- }
-
- /**
- * 闇�瑕佹壒閲忓垹闄�
- * @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;
+ @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;
}
- StringBuffer sql = new StringBuffer();
- sql.append(" SELECT ")
- .append(" a.*,CONCAT(CONVERT(a.file_size / 1024, decimal(10,2)), 'KB') file_size_kb,b.show_name name")
- // .append(" concat(c.attachment_domain,'/',c.attachment_container,'/',c.module_uuid,'/',c.attachment_title,?) path ")
- .append(" FROM ")
- .append(" (SELECT * FROM product_oa_document WHERE directory_uuid = ? ")
- .append(queryFilter)
- .append(" ) a LEFT JOIN product_sys_staffs b ON a.created_by = b.user_id ")
- .append(" LEFT JOIN product_sys_attachments c ON b.staff_avatar=c.uuid ");
- String sostoken = Global.getSystemConfig("upload.key", "");
- DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid},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);
+ /**
+ * 闇�瑕佹壒閲忓垹闄�
+ *
+ * @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;
}
- 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);
+ @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 ")
+ .append(" a.*,CONCAT(CONVERT(a.file_size / 1024, decimal(10,2)), 'KB') file_size_kb,b.show_name name")
+ // .append(" concat(c.attachment_domain,'/',c.attachment_container,'/',c.module_uuid,'/',c.attachment_title,?) path ")
+ .append(" FROM ")
+ .append(" (SELECT * FROM product_oa_document WHERE directory_uuid = ? ")
+ .append(queryFilter)
+ .append(" ) a LEFT JOIN product_sys_staffs b ON a.created_by = b.user_id ")
+ .append(" LEFT JOIN product_sys_attachments c ON b.staff_avatar=c.uuid ");
+ String sostoken = Global.getSystemConfig("upload.key", "");
+ DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid}, fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE));
+ baseDao.listInternationDataTable(documentData, null);
+ return documentData;
}
- 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);
+ @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;
}
- baseDao.add(dataTableEntity);
- }
- @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,%";
- 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 = ? AND CONCAT(',',a.storage_uuid,',') LIKE ? ");
- //鏆傛椂涓嶇敤
-// sql.append(" SELECT ")
-// .append(" fun ")
-// .append(" FROM ")
-// .append(" ( SELECT ")
-// .append(" SUBSTRING_INDEX( SUBSTRING_INDEX( d.rigths, ',', 1 ), ',', - 1 ) fun, ")
-// .append(" d.staff_ids, ")
-// .append(" d.directory_uuid ")
-// .append(" FROM ")
-// .append(" (SELECT a.rigths, concat( ',', b.staff_ids, ',' ) staff_ids, a.directory_uuid FROM product_oa_directory_rights a LEFT JOIN product_sys_organizational_structure_storage b ON a.storage_uuid = b.uuid) d UNION ALL ")
-// .append(" SELECT ")
-// .append(" SUBSTRING_INDEX( SUBSTRING_INDEX( d.rigths, ',', 2 ), ',', - 1 ) fun, ")
-// .append(" d.staff_ids, ")
-// .append(" d.directory_uuid ")
-// .append(" FROM ")
-// .append(" (SELECT a.rigths, concat( ',', b.staff_ids, ',' ) staff_ids, a.directory_uuid FROM product_oa_directory_rights a LEFT JOIN product_sys_organizational_structure_storage b ON a.storage_uuid = b.uuid) d UNION ALL ")
-// .append(" SELECT ")
-// .append(" SUBSTRING_INDEX( SUBSTRING_INDEX( d.rigths, ',', 3 ), ',',- 1 ) fun, ")
-// .append(" d.staff_ids, ")
-// .append(" d.directory_uuid ")
-// .append(" FROM ")
-// .append(" (SELECT a.rigths, concat( ',', b.staff_ids, ',' ) staff_ids, a.directory_uuid FROM product_oa_directory_rights a LEFT JOIN product_sys_organizational_structure_storage b ON a.storage_uuid = b.uuid) d UNION ALL ")
-// .append(" SELECT ")
-// .append(" SUBSTRING_INDEX( SUBSTRING_INDEX( d.rigths, ',', 4 ), ',',- 1 ) fun, ")
-// .append(" d.staff_ids, ")
-// .append(" d.directory_uuid ")
-// .append(" FROM ")
-// .append(" (SELECT a.rigths, concat( ',', b.staff_ids, ',' ) staff_ids, a.directory_uuid FROM product_oa_directory_rights a LEFT JOIN product_sys_organizational_structure_storage b ON a.storage_uuid = b.uuid) d UNION ALL ")
-// .append(" SELECT ")
-// .append(" SUBSTRING_INDEX( SUBSTRING_INDEX( d.rigths, ',', 5 ), ',',- 1 ) fun, ")
-// .append(" d.staff_ids, ")
-// .append(" d.directory_uuid ")
-// .append(" FROM ")
-// .append(" (SELECT a.rigths, concat( ',', b.staff_ids, ',' ) staff_ids, a.directory_uuid FROM product_oa_directory_rights a LEFT JOIN product_sys_organizational_structure_storage b ON a.storage_uuid = b.uuid) d UNION ALL ")
-// .append(" SELECT ")
-// .append(" SUBSTRING_INDEX( SUBSTRING_INDEX( d.rigths, ',', 6 ), ',',- 1 ) fun, ")
-// .append(" d.staff_ids, ")
-// .append(" d.directory_uuid ")
-// .append(" FROM ")
-// .append(" (SELECT a.rigths, concat( ',', b.staff_ids, ',' ) staff_ids, a.directory_uuid FROM product_oa_directory_rights a LEFT JOIN product_sys_organizational_structure_storage b ON a.storage_uuid = b.uuid) d UNION ALL ")
-// .append(" SELECT ")
-// .append(" SUBSTRING_INDEX( SUBSTRING_INDEX( d.rigths, ',', 7 ), ',',- 1 ) fun, ")
-// .append(" d.staff_ids, ")
-// .append(" d.directory_uuid ")
-// .append(" FROM ")
-// .append(" (SELECT a.rigths, concat( ',', b.staff_ids, ',' ) staff_ids, a.directory_uuid FROM product_oa_directory_rights a LEFT JOIN product_sys_organizational_structure_storage b ON a.storage_uuid = b.uuid) d ")
-// .append(" ) e ")
-// .append(" WHERE ")
-// .append(" CONCAT(',',e.staff_ids,',') LIKE ? ")
-// .append(" AND e.directory_uuid = ? ")
-// .append(" GROUP BY ")
-// .append(" e.fun ");
- DataTableEntity dataTableEntity = baseDao.listTable(sql.toString(), new String[]{directory_uuid,key});
- 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)) {
- //鏈夋煡鐪嬫潈闄愬氨鍔犺浇鍒楄〃
+ @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);
+ }
+
+ public boolean verifyOrgExist(String org, Integer user_id) {
+ String this_user = String.valueOf(user_id);
+ String[][] orgArr = organizationServiceV2.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];
+ String[] post = orgArr[2];
+ if (null != level) {
+ DataTableEntity org_level_uuid = baseDao.listTable(CmnConst.PRODUCT_SYS_STAFFS, BaseUtil.buildQuestionMarkFilter("org_level_uuid", level, true) + " and user_id=?", new String[]{this_user});
+ if (org_level_uuid.getRows() > 0) return true;
+ }
+ if (null != dept) {
+ DataTableEntity dept_uuid = baseDao.listTable(CmnConst.PRODUCT_SYS_STAFFS, BaseUtil.buildQuestionMarkFilter("dept_uuid", dept, true) + " and user_id=?", new String[]{this_user});
+ if (dept_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"), user_id)) {
+ 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);
- }
}
- }
- 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;
- }
-
- @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);
-
- 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
- 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);
+ 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);
- /**
- * 绉诲姩锛堟枃浠舵壒閲忕Щ鍔級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();
+ return fse;
}
- //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;
+ @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);
+
+ return object;
}
- }
- @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
+ @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 {
+
+ //鑾峰彇蹇呰浜哄憳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));
+ }
+
+ 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));
+ }
}
--
Gitblit v1.9.2