kimi
2020-03-31 74472c9d22dddcb41383794caf0011043b20f817
src/main/java/com/highdatas/mdm/controller/SysFieldController.java
@@ -51,24 +51,55 @@
    SysFieldMapper fieldMapper;
    @Autowired
    IFlowsService flowsService;
    @Autowired
    IMasterAuthorService masterAuthorService;
    @RequestMapping(value = "/{tableName}", method = RequestMethod.GET)
    public Result getFields(@PathVariable String tableName, HttpServletRequest request){
        TUser user = DbUtils.getUser(request);
        String maintainId = request.getParameter("maintainId");
        if (StringUtils.isEmpty(maintainId)) {
            List<SysField> fieldList = fieldService.getFieldByTable(tableName);
            return Result.success(fieldList);
        }else {
            List<SysField> field = masterAuthorService.getField(user.getUserId(), maintainId);
            //List<SysField> fieldList = fieldService.getFieldByMaintain(maintainId);
            List<SysField> fieldList = fieldService.getFieldByMaintain(maintainId);
            return Result.success(fieldList);
            return Result.success(field);
        }
    }
    @RequestMapping(value = "total/{tableName}", method = RequestMethod.GET)
    public Result getTotalFields(@PathVariable String tableName, HttpServletRequest request){
        return fieldService.getTotalFields(tableName);
    @RequestMapping(value = "total/{tableName}/{pageNo}", method = RequestMethod.GET)
    public Result getTotalFields(@PathVariable String tableName,@PathVariable Integer pageNo, HttpServletRequest request){
        String totalStr = request.getParameter("isTotal");
        String pageSize = request.getParameter("pageSize");
        if (StringUtils.isEmpty(totalStr) || !Boolean.valueOf(totalStr)) {
            // 走权限
            String maintainId = request.getParameter("maintainId");
            if (StringUtils.isEmpty(maintainId)){
                return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
            }
            TUser user = DbUtils.getUser(request);
            List<SysField> field = masterAuthorService.getField(user.getUserId(), maintainId);
            Integer size;
            if(StringUtils.isEmpty(pageSize)){
                size = 15;
            }else  {
                size = Integer.valueOf(pageSize);
            }
            return fieldService.getPagedDataByList(field, pageNo, size);
        }
        if(StringUtils.isEmpty(pageSize)){
            return fieldService.getTotalFields(tableName, pageNo, 15);
        }else  {
            return fieldService.getTotalFields(tableName, pageNo, Integer.valueOf(pageSize));
        }
    }
    @RequestMapping(value = "fix/{tableName}", method = RequestMethod.GET)
@@ -78,6 +109,7 @@
        data.fluentPut("aduit", true);
        return totalFields;
    }
    @RequestMapping(value = "/menu/{id}", method = RequestMethod.GET)
    public Result getFieldByMenu(@PathVariable String id){
@@ -244,6 +276,16 @@
        if (dataMaxVersion == null) {
            isInit = true;
        }
        if (!StringUtils.isEmpty(sysField.getId())) {
            String id = sysField.getId();
            SysField field = fieldService.selectById(id);
            if (field != null){
                Operate operate = field.getOperate();
                if (operate != null) {
                    isInit = true;
                }
            }
        }
        Operate operate = sysField.getOperate();
@@ -252,6 +294,7 @@
                if (StringUtils.isEmpty(sysField.getId())) {
                    sysField.setId(DbUtils.getUUID());
                }
                sysField.setOperate(null);
                boolean update = sysField.insertOrUpdate();
                if (update) {
                    return Result.success(CodeMsg.SUCCESS);
@@ -262,13 +305,30 @@
            }
        }
        if (isInit && operate.equals(Operate.delete)) {
            String maintainFieldId = sysField.getMaintainFieldId();
            boolean delete = sysField.deleteById();
            if (delete) {
                //删除后 判断是否有未提交的了
                if (StringUtils.isEmpty(maintainFieldId)) {
                    return Result.success(CodeMsg.SUCCESS);
                }
                List<SysField> fieldList = fieldService.selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainFieldId));
                long count = fieldList.stream().filter(field -> field.getOperate() != null).count();
                if (count == 0) {
                    //说明 当前版本没有修改的字段了
                    delete = fieldService.delete(new EntityWrapper<SysField>().eq("maintain_field_id", maintainFieldId));
                    delete = maintainFieldService.deleteById(maintainFieldId);
                    if (delete) {
                        return Result.success(CodeMsg.SUCCESS);
                    }
                }
                return Result.success(CodeMsg.SUCCESS);
            }else {
                return Result.error(CodeMsg.DELETE_ERROR);
            }
        }
        if (operate.equals(Operate.update)) {
            String id = sysField.getId();
            SysField field = fieldService.selectById(id);
@@ -309,7 +369,11 @@
            }
        }
        MaintainField maxVersion = maintainFieldService.getMaxVersion(sysField.getTableName());
        String maintainId = maxVersion.getId();
        String maintainId = null;
        if(maxVersion != null) {
            maintainId = maxVersion.getId();
        }
        MaintainField nowMaintain = null;
        HttpSession session = request.getSession();
        TUser user = (TUser) session.getAttribute("user");