From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 27 五月 2020 09:59:29 +0800 Subject: [PATCH] merage --- src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java | 107 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 88 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java b/src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java index 461ddb6..4aae26e 100644 --- a/src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java +++ b/src/main/java/com/highdatas/mdm/controller/MaintainFieldController.java @@ -1,31 +1,35 @@ package com.highdatas.mdm.controller; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.highdatas.mdm.entity.Maintain; import com.highdatas.mdm.entity.MaintainField; -import com.highdatas.mdm.entity.SysField; +import com.highdatas.mdm.entity.MenuMapping; import com.highdatas.mdm.mapper.TableInfoMapper; +import com.highdatas.mdm.pojo.CodeMsg; import com.highdatas.mdm.pojo.Result; import com.highdatas.mdm.service.IMaintainFieldService; import com.highdatas.mdm.service.IMaintainService; +import com.highdatas.mdm.service.IMenuMappingService; import com.highdatas.mdm.service.ISysFieldService; import com.highdatas.mdm.util.Constant; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.text.MessageFormat; +import java.util.Comparator; import java.util.HashMap; import java.util.List; +import java.util.Set; /** * <p> * 鍓嶇鎺у埗鍣� * </p> - * + * @description 瀛楁鐗堟湰鎺ュ彛 * @author kimi * @since 2020-03-06 */ @@ -40,19 +44,67 @@ ISysFieldService fieldService; @Autowired TableInfoMapper tableInfoMapper; + @Autowired + IMenuMappingService menuMappingService; - @RequestMapping(value = "/getMaintainList/{tableName}", method = RequestMethod.GET) + /** + * + * @description: 閫氳繃涓婚鑾峰彇瀛楁鐗堟湰鍒楄〃 + * @param menuId 涓婚id + * @return: 瀛楁鐗堟湰鍒楄〃 + * + */ + @RequestMapping(value = "/getMaintainListByMenu/{menuId}", method = RequestMethod.GET) + public Result getMaintainListByTable(@PathVariable String menuId) { + //鑾峰彇menumapping 淇℃伅 + MenuMapping menuMapping = menuMappingService.selectOne(new EntityWrapper<MenuMapping>().eq("menu_id", menuId).orderBy("create_time")); + if (menuMapping == null){ + return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); + } + //鑾峰彇琛ㄥ悕 + String tableName = menuMapping.getTableName(); + + //鑾峰彇瀛楁鐗堟湰list + JSONArray array = maintainFieldService.getMaintainListByTable(tableName); + return Result.success(array); + } + + /** + * + * @description: 鑾峰彇瀛楁鐗堟湰id鏌愪釜鐗堟湰涓嬬殑璁板綍 + * @param id 瀛楁鐗堟湰id + * @return: 鏌愪釜鐗堟湰涓嬬殑璁板綍 + * + */ + @RequestMapping(value = "/getMaintainListByMaintainField/{id}", method = RequestMethod.GET) + public Result getMaintainListByMaintainField(@PathVariable String id, @RequestParam String tableName) { + //鑾峰彇瀛楁鐗堟湰id鏌愪釜鐗堟湰涓嬬殑璁板綍 + List<Maintain> maintainList = maintainFieldService.getMaintainListByMaintainField(id, tableName); + return Result.success(maintainList); + } + + /** + * + * @description: 閫氳繃琛ㄥ悕鑾峰彇鏌愪釜鐗堟湰涓嬬殑璁板綍 + * @param tableName 琛ㄥ悕 + * @return: 鏌愪釜鐗堟湰涓嬬殑璁板綍 + * + */ + @RequestMapping(value = "/getMaintainListByTable/{tableName}", method = RequestMethod.GET) public Result deleteModel(@PathVariable String tableName) { + //閫氳繃琛ㄥ悕鑾峰彇瀛楁鐗堟湰list List<MaintainField> maintainFieldList = maintainFieldService.selectList(new EntityWrapper<MaintainField>().eq("table_name", tableName).orderBy("order_no")); int preOrderNo = -1; HashMap<String, List<Maintain>> resultMap = new HashMap<>(); if (maintainFieldList.size() == 0) { + //鏃犺褰曞垯涓烘湁鏂扮殑瀛楁鐗堟湰锛� 浠呬负榛樿鐗堟湰 List<Maintain> maintainList = maintainService.selectList(new EntityWrapper<Maintain>().orderBy("order_no")); resultMap.put(Constant.Default, maintainList); return Result.success(resultMap); } for (MaintainField maintainField : maintainFieldList) { String maintainId = maintainField.getMaintainId(); + //绛涢�夋帀鏁版嵁閿欒鐨勬暟鎹� if (StringUtils.isEmpty(maintainId)) { continue; } @@ -61,24 +113,41 @@ continue; } Integer orderNo = maintain.getOrderNo(); + //鑾峰彇鏌愪釜瀛楁鐗堟湰瀵瑰簲鐨勬暟鎹増鏈� List<Maintain> maintainList = maintainService.selectList(new EntityWrapper<Maintain>().ge("order_no", preOrderNo).le("order_no", orderNo)); resultMap.put(maintainField.getId(), maintainList); preOrderNo = orderNo; } - return Result.success(resultMap); + Set<String> keySet = resultMap.keySet(); + JSONArray array = new JSONArray(); + for (String s : keySet) { + List<Maintain> maintainList = resultMap.get(s); + Maintain max = maintainList.stream().max(new Comparator<Maintain>() { + @Override + public int compare(Maintain o1, Maintain o2) { + return o1.getOrderNo() - o2.getOrderNo(); + } + }).get(); + //By 瀛楁鐗堟湰 鑾峰彇鏈�灏忕殑鏁版嵁鐗堟湰 + Maintain min = maintainList.stream().min(new Comparator<Maintain>() { + @Override + public int compare(Maintain o1, Maintain o2) { + return o1.getOrderNo() - o2.getOrderNo(); + } + }).get(); + //By 瀛楁鐗堟湰 鑾峰彇鏈�灏忕殑鏁版嵁鐗堟湰 + JSONObject object = new JSONObject(); + object.fluentPut("maintainFieldId", s); + //鍒檝ersion涓烘鏁版嵁鐗堟湰涓嬫敮鎸佺殑鏁版嵁鐗堟湰鑼冨洿 + object.fluentPut("version", MessageFormat.format(Constant.extent, min.getVersion(), max.getVersion())); + + array.add(object); + } + return Result.success(array); } - @RequestMapping(value = "/getFieldByMaintainFieldId/{id}", method = RequestMethod.GET) - public Result getFieldByMaintainFieldId(@PathVariable String id) { - List<SysField> result; - if (Constant.Default.equalsIgnoreCase(id)) { - result = fieldService.getFieldByMaintainField(null); - } - if (Constant.All.equalsIgnoreCase(id)) { - } - result = fieldService.getFieldByMaintainField(id); - return null; - } + + } -- Gitblit v1.8.0