kimi
2020-03-31 74472c9d22dddcb41383794caf0011043b20f817
src/main/java/com/highdatas/mdm/controller/MasterDataController.java
@@ -20,9 +20,7 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.MessageFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -41,7 +39,8 @@
    IMaintainService maintainService;
    @Autowired
    IMaintainDetailService maintainDetailService;
    @Autowired
    IMaintainFieldService maintainFieldService;
    @Autowired
    IMenuMappingService menuMappingService;
@@ -50,6 +49,8 @@
    @Autowired
    IMasterModifiedService masterModifiedService;
    @Autowired
    IMasterAuthorService masterAuthorService;
    @RequestMapping(value = "{tableName}/uploaded",  method = RequestMethod.GET)
    public Result get(@PathVariable String tableName, HttpServletRequest request) {
@@ -77,6 +78,7 @@
    @RequestMapping(value = "{tableName}/all/{pageNo}",  method = RequestMethod.GET)
    public Result getByPage(@PathVariable String tableName, @PathVariable Integer pageNo, HttpServletRequest request) throws UnsupportedEncodingException {
        TUser user = DbUtils.getUser(request);
        String pageSizeStr = request.getParameter("pageSize");
        String whereSegment = request.getParameter(Constant.WHERE_SEGMENT);
        String fields = request.getParameter(Constant.FIELDS);
@@ -106,33 +108,44 @@
            }
            version = String.valueOf(maxVersion.getVersion());
        }
        Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version);
        if (maintainFromVersion == null) {
            return null;
        }
        //ADD Filter
        String filter = masterAuthorService.getFilter(user.getUserId(), maintainFromVersion.getId());
        if (!StringUtils.isEmpty(filter)) {
            whereSegment = DbUtils.StrJoin(whereSegment, Constant.AND, filter);
        }
        if (StringUtils.isEmpty(fields)) {
            if (StringUtils.isEmpty(pageSizeStr)) {
                return masterDataService.selectListByPageByVersion(tableName, whereSegment,pageNo,version, findMax);
                return masterDataService.selectListByPageByVersion(user, tableName, whereSegment,pageNo,version, findMax);
            }
            return masterDataService.selectListByPageByVersion(tableName, null, whereSegment,pageNo, Integer.valueOf(pageSizeStr),version,findMax);
            return masterDataService.selectListByPageByVersion(user, tableName, null, whereSegment,pageNo, Integer.valueOf(pageSizeStr),version,findMax);
        }else {
            String[] split = fields.split(Constant.COMMA_TRIM);
            List<String> fieldList = Arrays.stream(split).collect(Collectors.toList());
            if (StringUtils.isEmpty(pageSizeStr)) {
                return masterDataService.selectListByPageByVersion(tableName, fieldList, whereSegment,pageNo, null,version, findMax);
                return masterDataService.selectListByPageByVersion(user, tableName, fieldList, whereSegment,pageNo, null,version, findMax);
            }
            return masterDataService.selectListByPageByVersion(tableName, fieldList, whereSegment,pageNo, Integer.valueOf(pageSizeStr), findMax);
            return masterDataService.selectListByPageByVersion(user, tableName, fieldList, whereSegment,pageNo, Integer.valueOf(pageSizeStr), findMax);
        }
    }
    @RequestMapping(value = "{tableName}/all",  method = RequestMethod.GET)
    public Result<MenuMapping> getAll(@PathVariable String tableName,HttpServletRequest request) {
        TUser user = DbUtils.getUser(request);
        String whereSegment = request.getParameter(Constant.WHERE_SEGMENT);
        String version = request.getParameter(Constant.VERSION);
        if (StringUtils.isEmpty(version)) {
            version = String.valueOf(maintainService.getNowVersion(tableName).getVersion());
        }
        if (StringUtils.isEmpty(whereSegment)) {
            return masterDataService.selectList(tableName);
            return masterDataService.selectList(user, tableName,Constant.WHERE_DEFAULT, version);
        }
        return masterDataService.selectList(tableName,whereSegment);
        return masterDataService.selectList(user, tableName,whereSegment, version);
    }
    @RequestMapping(value = "{maintainId}/modify/{operateStr}", method = RequestMethod.POST)
@@ -334,10 +347,21 @@
        }
    }
    @RequestMapping(value = "/getValByMaintainFieldId/{maintainFieldId}", method = RequestMethod.GET)
    public Result getValByMaintainFieldId(@PathVariable String maintainFieldId,@RequestParam String menuId, @RequestParam String field, HttpServletRequest request) {
        String tableName = menuMappingService.getTableNameByMenu(menuId);
        if (StringUtils.isEmpty(tableName)) {
            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
        }
        if (maintainFieldId.equalsIgnoreCase(Constant.All)) {
            Set<String> fieldValList =  masterDataService.getFieldValByTable(tableName, field);
            return Result.success(fieldValList);
        }
        Set<String> fieldValByMaintainField = masterDataService.getFieldValByMaintainField(maintainFieldId, field, tableName);
    @RequestMapping(value = "{tableName}/getFieldVal/{field}",  method = RequestMethod.GET)
    public Result getFieldVal(@PathVariable String tableName, @PathVariable String field) {
        return masterDataService.getFieldValByTable(tableName,field);
        return Result.success(fieldValByMaintainField);
    }
}