许鹏程
2024-09-14 cf0a6437bdfedad6b3eb8ec02ecf468457f56960
src/main/java/com/product/file/service/DocumentDirectoryService.java
@@ -3,7 +3,6 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.product.common.collect.ListUtils;
import com.product.common.lang.DateUtils;
import com.product.core.config.CoreConst;
import com.product.core.dao.BaseDao;
import com.product.core.entity.DataTableEntity;
@@ -200,8 +199,8 @@
      sb.append(",c.user_name ");
      sb.append(" from ");
      sb.append(table.getString("table_name")).append(" a ");
      sb.append(" LEFT JOIN (SELECT max(uuid) uuid,directory_name FROM product_oa_directory where tricode_parent='").append(fs.getString("filing_catalog")).append("' GROUP BY directory_name)  b ");
      sb.append("on a.").append(fs.getString("field_title")).append("=b.directory_name ");
      sb.append(" LEFT JOIN (SELECT uuid,directory_name,filing_config_field_uuid FROM product_oa_directory where filing_config_table=? and tricode_parent='").append(fs.getString("filing_catalog")).append("')  b ");
      sb.append("on a.").append(fs.getString("field_title")).append("=b.directory_name and a.uuid=b.filing_config_field_uuid   ");
      sb.append(" LEFT JOIN  product_sys_users c on a.").append(fs.getString("field_send_user")).append("=c.user_id");
      sb.append(" where (a.archive_flag!=1 or a.archive_flag is null) ");
@@ -232,12 +231,12 @@
      //获取父类文档信息
      FieldSetEntity parentDirectory = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_OA_DIRECTORY, "tricode=?", new String[]{filing_catalog}, false);
      DataTableEntity fieldDt = baseDao.listTable(sql, new String[]{});
      DataTableEntity fieldDt = baseDao.listTable(sql, new String[]{table});
      //获取流程附件并加入到file里
      DataTableEntity nodeDt = baseDao.listTable(nodeSal, new String[]{});
      for (int i = 0; i <nodeDt.getRows() ; i++) {
         FieldSetEntity fieldfs = fieldDt.getFieldSetEntity(nodeDt.getString(i, "uuid")).get(0);
            if (FieldSetEntity.isEmpty(fieldfs)){
            if (!FieldSetEntity.isEmpty(fieldfs)){
            if (StringUtils.isEmpty(fieldfs.getString("file"))){
               fieldfs.setValue("file",nodeDt.getString(i,"flow_attachment"));
            }else {
@@ -265,7 +264,7 @@
                  String tricode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE, filing_catalog);
                  //获取目录名称
                  String title = fs.getString(field_title);
                  directoryUUID = addDirectory(title, tricode, filing_catalog, parentDirectory.getInteger("directory_tier") + 1);
                  directoryUUID = addDirectory(title, tricode, filing_catalog, parentDirectory.getInteger("directory_tier") + 1,fs.getUUID(),table);
            }else {
               directoryUUID=fs.getString("directory_uuid");
@@ -317,7 +316,7 @@
    * @param directory_tier 目录层级
    */
    private String addDirectory(String field_title,String tricode,String tricode_parent,Integer directory_tier){
    private String addDirectory(String field_title,String tricode,String tricode_parent,Integer directory_tier,String filing_config_field_uuid,String table){
        //新建目录
      FieldSetEntity fsDirectory = new FieldSetEntity();
      fsDirectory.setTableName(CmnConst.PRODUCT_OA_DIRECTORY);
@@ -329,7 +328,10 @@
      fsDirectory.setValue("directory_type", 1);
      fsDirectory.setValue("tricode", tricode);
      fsDirectory.setValue("tricode_parent", tricode_parent);
        baseDao.saveFieldSetEntity(fsDirectory);
      fsDirectory.setValue("filing_config_field_uuid", filing_config_field_uuid);
      fsDirectory.setValue("filing_config_table", table);
      baseDao.saveFieldSetEntity(fsDirectory);
      return fsDirectory.getUUID();
   }
@@ -431,6 +433,8 @@
//      data = baseDao.listTable(CmnConst.PRODUCT_OA_DIRECTORY, " directory_type = 2 AND created_by = ?", new Object[]{userId}, "tricode");
      }
      baseDao.listInternationDataTable(data, null);
      JSONArray menus = this.encapsulationTree(data);
      // 获取当前公司