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/service/impl/SysFieldServiceImpl.java | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 152 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java index c6ddc54..1002586 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java @@ -64,16 +64,23 @@ maintainField = maintainFieldService.selectOne(new EntityWrapper<MaintainField>().eq("maintain_id", maintainId).orderBy("order_no desc")); if (maintainField == null) { //瀵瑰簲鐗堟湰鎵句笉鍒� 寰�鍓嶆壘 - String maintainFieldId = maintainFieldMapper.getMappedMatintainId(DbUtils.quotedStr(maintain.getTableName()), maintain.getOrderNo()); - if (StringUtils.isEmpty(maintainFieldId)) { + Map<String, String> maintainFieldMap = maintainFieldMapper.getMappedMatintainId(DbUtils.quotedStr(maintain.getTableName()), maintain.getOrderNo()); + if (maintainFieldMap == null) { return null; } + String maintainFieldId = maintainFieldMap.get(Constant.ID); maintainField = maintainFieldService.selectById(maintainFieldId); } return maintainField; } - + /** + * + * @description: 閫氳繃鐗堟湰鑾峰彇瀛楁鍒楄〃 + * @param maintainId 鐗堟湰id + * @return: 瀛楁鍒楄〃 + * + */ @Override public List<SysField> getFieldByMaintain(String maintainId) { List<SysField> fieldList; @@ -83,14 +90,12 @@ } MaintainField maintainField = getMaintainFieldByMaintain(maintainId); - if (maintainField == null && Constant.Default.equalsIgnoreCase(maintainField.getId())) { - + if (maintainField == null || Constant.Default.equalsIgnoreCase(maintainField.getId())) { fieldList = this.selectList(new EntityWrapper<SysField>().eq("table_name", maintain.getTableName()).isNull("maintain_field_id").orderBy("order_no")); return fieldList; } String maintainFieldId = maintainField.getId(); String tableName = maintainField.getTableName(); - //TODO 鍒ゆ柇鐗堟湰 ActivitiStatus status = flowsService.getStatusByBusinessId(maintainFieldId); if (status != null && status.equals(ActivitiStatus.open)) { fieldList = this.selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainFieldId).eq("table_name", tableName).orderBy("order_no")); @@ -114,9 +119,16 @@ } + /** + * + * @description: 閫氳繃鐗堟湰鑾峰彇瀛楁鐗堟湰 + * @param maintainId 鐗堟湰id + * @return: 瀛楁鐗堟湰 + * + */ @Override public MaintainField getMaintainFieldByMaintain(String maintainId) { - MaintainField maintainField; + MaintainField maintainField = null; List<SysField> fieldList = null; if (StringUtils.isEmpty(maintainId)) { @@ -126,17 +138,29 @@ if (maintain == null) { return null; } + List<MaintainField> subList = maintainFieldService.selectList(new EntityWrapper<MaintainField>().eq("maintain_id", maintainId).orderBy("order_no desc, create_time desc")); + subList.sort(new Comparator<MaintainField>() { + @Override + public int compare(MaintainField o1, MaintainField o2) { - maintainField = maintainFieldService.selectOne(new EntityWrapper<MaintainField>().eq("maintain_id", maintainId).orderBy("order_no desc, create_time desc")); + return o2.getOrderNo().compareTo(o1.getOrderNo()); + } + }); + if (!subList.isEmpty()) { + maintainField = subList.get(0); + } + if (maintainField == null) { //瀵瑰簲鐗堟湰鎵句笉鍒� 寰�鍓嶆壘 - String maintainFieldId = maintainFieldMapper.getMappedMatintainId(DbUtils.quotedStr(maintain.getTableName()), maintain.getOrderNo()); - if (StringUtils.isEmpty(maintainFieldId)) { - return new MaintainField().setId(Constant.Default); + Map<String, String> maintainFieldMap = maintainFieldMapper.getMappedMatintainId(DbUtils.quotedStr(maintain.getTableName()), maintain.getOrderNo()); + + if (maintainFieldMap == null) { + return new MaintainField().setId(Constant.Default).setTableName(maintain.getTableName()); } + String maintainFieldId = maintainFieldMap.get(Constant.ID); maintainField = maintainFieldService.selectById(maintainFieldId); if (maintainField == null){ - return new MaintainField().setId(Constant.Default); + return new MaintainField().setId(Constant.Default).setTableName(maintain.getTableName()); } } @@ -151,7 +175,7 @@ // 褰撳墠鐗堟湰姝e湪瀹℃壒 鎵惧墠涓�鐗堟湰 Integer maintainFieldOrderNo = maintainField.getOrderNo(); if (maintainFieldOrderNo < 1) { - return new MaintainField().setId(Constant.Default); + return new MaintainField().setId(Constant.Default).setTableName(maintain.getTableName()); }else { Integer preNo = maintainFieldOrderNo - 1; maintainField = maintainFieldService.selectOne(new EntityWrapper<MaintainField>().eq("table_name", maintain.getTableName()).eq("order_no", preNo)); @@ -160,7 +184,13 @@ } - + /** + * + * @description: 閫氳繃琛ㄥ悕鑾峰彇褰撳墠瀛楁鍒楄〃 + * @param tableName 琛ㄥ悕 + * @return: 褰撳墠瀛楁鍒楄〃 + * + */ @Override public List<SysField> getFieldByTable(String tableName) { Maintain nowVersion = maintainService.getNowVersion(tableName); @@ -178,7 +208,13 @@ } return getFieldByMaintain(nowVersion.getId()); } - + /** + * + * @description: 閫氳繃鐗堟湰鑾峰彇鏁版嵁搴撳瓧娈靛垪琛� + * @param tableName 琛ㄥ悕 + * @return: 瀛楁鍒楄〃 + * + */ @Override public Result getTotalFields(String tableName) { JSONObject result = new JSONObject(); @@ -238,7 +274,42 @@ return Result.success(result); } + /** + * + * @description: list 閫氳繃鍒嗛〉瀵硅薄绛涢�� + * @param list 鏁版嵁鍒楄〃 + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏁伴噺 + * @return: 鍒嗛〉绛涢�夊悗鐨勬暟鎹垪琛� + * + */ + @Override + public Result getPagedDataByList(List list, Integer pageNo, Integer pageSize) { + JSONObject result = new JSONObject(); + int total = list.size(); + Page page = new Page(total); + page.setPageSize(pageSize); + page.setPageNo(pageNo); + List subList = (List) list.stream().skip(page.getBeginRecordNo_1()).limit(page.getPageSize()).collect(Collectors.toList()); + result.fluentPut("pages", page.getPageCount()); + result.fluentPut("current", pageNo); + result.fluentPut("size", pageSize); + result.fluentPut("total", page.getRecordCount()); + result.fluentPut("list", subList); + return Result.success(result); + + + } + /** + * + * @description: 鑾峰彇鍒嗛〉鍚庣殑瀛楁鍒楄〃 + * @param tableName 琛ㄥ悕 + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏁版嵁 + * @return: 瀛楁鍒楄〃 + * + */ @Override public Result getTotalFields(String tableName, Integer pageNo, Integer pageSize) { Result totalFields = getTotalFields(tableName); @@ -260,7 +331,14 @@ } - + /** + * + * @description: 鍒嗙被鍚庣粰鍓嶇灞曠ず + * @param nowFields 褰撳墠鐗堟湰瀛楁鍒楄〃 + * @param maxFields 鍏ㄩ儴瀛楁鍒楄〃 + * @return: 鍒嗙被鍚庣殑瀛楁鍒楄〃 + * + */ private List<SysField> packageFieldList(List<SysField> nowFields, List<SysField> maxFields) { //鍘熷鐨勬竻闄perate鐢ㄤ簬鍓嶇鏄剧ず nowFields = nowFields.stream().map(sysField -> sysField.setOperate(null)).collect(Collectors.toList()); @@ -296,7 +374,14 @@ }); return nowFields; } - + /** + * + * @description: 鏇存柊鍩虹瀛楁瀵硅薄淇℃伅 + * @param preField 鏇存柊鍓嶇殑瀛楁瀵硅薄 + * @param updateField 鏇存柊鍙傛暟 + * @return: 鏄惁鏇存柊鎴愬姛 + * + */ @Override public boolean updateCommon(SysField preField, SysField updateField) { preField.setWidth(updateField.getWidth()); @@ -329,7 +414,14 @@ preField.setOrderNo(updateField.getOrderNo()); return preField.updateById(); } - + /** + * + * @description: 閫氳繃瀛楁鐗堟湰鑾峰彇鏌愪釜瀛楁鐨勫璞� + * @param maintainFieldId 瀛楁鐗堟湰 + * @param field 瀛楁鍚嶇О + * @return: 瀛楁瀵硅薄 + * + */ @Override public SysField getOneFieldByMaintainField(String maintainFieldId, String field) { List<SysField> fieldByMaintain = getFieldByMaintainField(maintainFieldId); @@ -339,7 +431,34 @@ } return collect.get(0); } - + /** + * + * @description: 閫氳繃鏁版嵁鐗堟湰鑾峰彇鏌愪釜瀛楁鐨勫璞� + * @param maintainId 鏁版嵁鐗堟湰 + * @param field 瀛楁鍚嶇О + * @return: 瀛楁瀵硅薄 + * + */ + @Override + public SysField getOneFieldByMaintain(String maintainId, String field) { + List<SysField> fieldByMaintain = getFieldByMaintain(maintainId); + if (fieldByMaintain == null || fieldByMaintain.isEmpty()) { + return null; + } + for (SysField sysField : fieldByMaintain) { + if (sysField.getField().equalsIgnoreCase(field)) { + return sysField; + } + } + return null; + } + /** + * + * @description: 閫氳繃瀛楁鐗堟湰鑾峰彇瀵硅薄鍒楄〃 + * @param maintainId 瀛楁鐗堟湰 + * @return: 瀛楁瀵硅薄鍒楄〃 + * + */ @Override public List<SysField> getFieldByMaintainField(String maintainId) { if (StringUtils.isEmpty(maintainId)) { @@ -347,12 +466,24 @@ } return selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainId).orderBy("order_no")); } - + /** + * + * @description: 閫氳繃琛ㄥ悕鑾峰彇榛樿瀛楁鍒楄〃 + * @param tableName 琛ㄥ悕 + * @return: 瀛楁瀵硅薄鍒楄〃 + * + */ @Override public List<SysField> getDefaultTableField(String tableName) { return selectList(new EntityWrapper<SysField>().eq("table_name", tableName).isNull("maintain_field_id").orderBy("order_no")); } - + /** + * + * @description: 閫氳繃琛ㄥ悕鑾峰彇鍏ㄩ儴瀛楁鍒楄〃 + * @param tableName 琛ㄥ悕 + * @return: 瀛楁瀵硅薄鍒楄〃 + * + */ @Override public List<SysField> getTotalTableField(String tableName) { List<TableSchemaResult> tableField = tableInfoMapper.getTableField(tableName); -- Gitblit v1.8.0