杜洪波
2024-08-27 f694f6ac8336866061a0caf8ff6b149a3d1f4a4b
代码提交
已修改3个文件
194 ■■■■ 文件已修改
src/main/java/com/product/file/controller/DocumentDirectoryController.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/file/service/DocumentDirectoryService.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/file/service/ide/IDocumentDirectoryService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/file/controller/DocumentDirectoryController.java
@@ -69,89 +69,23 @@
                    DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getText());
        }
    }
    /**
     * 新增文件夹数据
     * 文档目录保存
     * 
     * @param request
     * @return
     */
    @RequestMapping(value = "/addDocumentDirectory/{version}", method = RequestMethod.POST)
    @RequestMapping(value = "/save-directory/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String addDocumentDirectory(HttpServletRequest request) {
    public String saveDocumentDireactory(HttpServletRequest request) {
        try {
            // 获取参数
            FieldSetEntity fse = null;
            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
            if (bean != null) {
                RequestParameterEntity reqp = (RequestParameterEntity) bean;
                fse = reqp.getFormData();
            }
            // 判断参数是否为空
            if (fse == null) {
                SpringMVCContextHolder.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(),
                        DocumentCode.DOCUMENT_FORM_NODATA.getText());
                return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(),
                        DocumentCode.DOCUMENT_FORM_NODATA.getText());
            }
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
            IDocumentDirectoryService service = (IDocumentDirectoryService) getProxyInstance(documentDirectoryService);
            return OK_Add(service.addDocumentDirectory(fse));
        } catch (BaseException e) {
            SpringMVCContextHolder.getSystemLogger().error(e);
            return this.error(e);
        } catch (Exception e) {
            e.printStackTrace();
            SpringMVCContextHolder.getSystemLogger().error(e);
            return this.error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
                    DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getText());
        }
    }
    /**
     * 修改文件夹
     *
     * @param request
     * @return
     */
    @RequestMapping(value = "/upDocumentDirectory/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String upDocumentDirectory(HttpServletRequest request) {
        try {
            // 获取参数
            FieldSetEntity fse = null;
            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
            if (bean != null) {
                RequestParameterEntity reqp = (RequestParameterEntity) bean;
                fse = reqp.getFormData();
            }
            // 判断参数是否为空
            if (fse == null) {
                SpringMVCContextHolder.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(),
                        DocumentCode.DOCUMENT_FORM_NODATA.getText());
                return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(),
                        DocumentCode.DOCUMENT_FORM_NODATA.getText());
            }
            String uuid = fse.getString(CmnConst.UUID);// 表uuid
            // 超级管理员为1 普通单位管理员2
            SystemUser currentUser = SpringMVCContextHolder.getCurrentUser();
            int type;
            if (currentUser.getUserType() == 2) {
                type = CoreConst.DATA_PERMISSION_VALID_TYPE_ORG;
            } else {
                type = CoreConst.DATA_PERMISSION_VALID_TYPE_USER;
            }
            // 数据操作的权限验证
            if (!permissionService.validDataPermission(CmnConst.PRODUCT_OA_DIRECTORY, uuid, type)) {
                SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),
                        SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
                return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),
                        SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
            }
            IDocumentDirectoryService service = (IDocumentDirectoryService) getProxyInstance(documentDirectoryService);
            if (service.upDocumentDirectory(fse)) {
            if(service.saveDocumentDireactory(fse)) {
                return OK();
            }
            return this.error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
            return error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
                    DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getText());
        } catch (BaseException e) {
            SpringMVCContextHolder.getSystemLogger().error(e);
@@ -159,7 +93,7 @@
        } catch (Exception e) {
            e.printStackTrace();
            SpringMVCContextHolder.getSystemLogger().error(e);
            return this.error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
            return error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
                    DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getText());
        }
    }
src/main/java/com/product/file/service/DocumentDirectoryService.java
@@ -4,6 +4,7 @@
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;
import com.product.core.entity.FieldSetEntity;
@@ -52,68 +53,41 @@
        return dtTree;
    }
    @Override
    /**
     *     文档目录保存
     * @param fse
     * @return
     */
    @Transactional
    public String addDocumentDirectory(FieldSetEntity fieldSetEntity) throws BaseException {
        String triCode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE,
                !StringUtils.isEmpty(fieldSetEntity.getString(CmnConst.TRICODE_PARENT))
                        ? fieldSetEntity.getString(CmnConst.TRICODE_PARENT)
                        : "");
        fieldSetEntity.setValue(CmnConst.TRICODE, triCode);
        String[] codes = triCode.split("-");
        String org_level_uuid = SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid();
        fieldSetEntity.setValue(CmnConst.ORG_LEVEL_UUID, org_level_uuid);
        fieldSetEntity.setValue(CmnConst.DIRECTORY_TIER, codes.length);
        fieldSetEntity.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 获取登录帐号
        fieldSetEntity.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 创建时间
        return baseDao.add(fieldSetEntity);
    }
    @Override
    @Transactional
    public boolean upDocumentDirectory(FieldSetEntity fieldSetEntity) throws BaseException {
        String uuid = fieldSetEntity.getString(CmnConst.UUID);
        FieldSetEntity fieldSet = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DIRECTORY, uuid, false);
        String tricode_parent1 = fieldSetEntity.getString(CmnConst.TRICODE_PARENT);
        String tricode_parent2 = fieldSet.getString(CmnConst.TRICODE_PARENT);
        boolean flag;
        // 上级目录tricode如果不相等
        if (!StringUtils.isEmpty(tricode_parent1) || !StringUtils.isEmpty(tricode_parent2)) {
            if (!StringUtils.isEmpty(tricode_parent1) && !StringUtils.isEmpty(tricode_parent2)
                    && !tricode_parent1.equals(tricode_parent2)) {
                flag = true;
            } else if (!StringUtils.isEmpty(tricode_parent1) && !StringUtils.isEmpty(tricode_parent2)
                    && tricode_parent1.equals(tricode_parent2)) {
                flag = false;
            } else if (!StringUtils.isEmpty(tricode_parent1) && StringUtils.isEmpty(tricode_parent2)) {
                tricode_parent2 = "";
                flag = true;
            } else if (!StringUtils.isEmpty(tricode_parent2) && StringUtils.isEmpty(tricode_parent1)) {
                tricode_parent1 = "";
                flag = true;
            } else {
                flag = false;
            }
    public boolean saveDocumentDireactory(FieldSetEntity fse) {
        BaseUtil.createCreatorAndCreationTime(fse);
        String tricode = null;
        String tricodeParent = BaseUtil.strIsNull(fse.getString(CmnConst.TRICODE_PARENT)) ? "" : fse.getString(CmnConst.TRICODE_PARENT);
        if(BaseUtil.strIsNull(fse.getUUID())) {
            tricode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE, tricodeParent);
        } else {
            flag = false;
            FieldSetEntity fseOrigin = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DIRECTORY, fse.getUUID(), false);
            if(fseOrigin == null) {
                fse.remove(CoreConst.UUID);
            }
            String originParent = BaseUtil.strIsNull(fseOrigin.getString(CmnConst.TRICODE_PARENT)) ? "" : fseOrigin.getString(CmnConst.TRICODE_PARENT);
            if (!originParent.equals(tricodeParent)) {
                String originTricode = BaseUtil.strIsNull(fseOrigin.getString(CmnConst.TRICODE)) ? "" : fseOrigin.getString(CmnConst.TRICODE);
                tricode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE, tricodeParent);
                StringBuilder sql = new StringBuilder();
                sql.append("update product_oa_directory ");
                sql.append("set tricode=concat(replace(substring(tricode,1,locate(?,tricode)+length(?)),?,?),substring(tricode,locate(?,tricode)+length(?)+1)), ");
                sql.append("tricode_parent=concat(replace(substring(tricode_parent,1,locate(?,tricode_parent)+length(?)),?,?),substring(tricode_parent,locate(?,tricode_parent)+length(?)+1)) ");
                sql.append("where tricode like ? ");
                baseDao.executeUpdate(sql.toString(), new Object[] {originTricode,originTricode,originTricode,tricode,originTricode,originTricode,
                        originTricode,originTricode,originTricode,tricode,originTricode,originTricode,originTricode+"-%"});
            }
        }
        if (flag) {
            StringBuffer sql = new StringBuffer();
            sql.append(" update PRODUCT_OA_directory set tricode=replace(");
            sql.append(" tricode,concat(?,'-'),concat(?,'-')),");
            sql.append(" tricode_parent=(case when tricode_parent=? then replace(tricode_parent,?,?) else ");
            sql.append(" replace (tricode_parent,concat(?,'-'),concat(?,'-')) end )");
            sql.append("  where  tricode like ?");
            baseDao.executeUpdate(sql.toString(), new String[] { tricode_parent1, tricode_parent2, tricode_parent1,
                    tricode_parent1, tricode_parent2, tricode_parent1, tricode_parent2, tricode_parent1 + "-%", });
        }
        fieldSetEntity.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 获取登录帐号
        fieldSetEntity.setValue(CmnConst.UPDATED_UTC_DATETIME, DateUtils.getDateTime());// 创建时间
        return baseDao.update(fieldSetEntity);
        fse.setValue(CmnConst.TRICODE, tricode);
        fse.setValue(CmnConst.DIRECTORY_TIER, tricode.split(",").length);
        return baseDao.saveFieldSetEntity(fse);
    }
    @Override
    @Transactional
src/main/java/com/product/file/service/ide/IDocumentDirectoryService.java
@@ -16,22 +16,14 @@
 * @Description: 文件夹管理接口
 */
public interface IDocumentDirectoryService {
  /**
   *     新增文档目录
   * @param
   * @return
   * @throws BaseException
   */
  String addDocumentDirectory(FieldSetEntity fieldSetEntity) throws BaseException;
  /**
   * 修改文档目录
   * @param
   * @return
   * @throws BaseException
   */
  boolean upDocumentDirectory(FieldSetEntity fieldSetEntity) throws BaseException;
    /**
     *     文档目录保存
     * @param fse
     * @return
     */
    boolean saveDocumentDireactory(FieldSetEntity fse);
  /**
   * 删除文档目录
   * @param