| | |
| | | package com.highdatas.mdm.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.highdatas.mdm.entity.Flows; |
| | | import com.highdatas.mdm.entity.Maintain; |
| | | import com.highdatas.mdm.entity.MaintainField; |
| | | import com.highdatas.mdm.entity.SysField; |
| | | import com.highdatas.mdm.entity.*; |
| | | import com.highdatas.mdm.mapper.MaintainFieldMapper; |
| | | import com.highdatas.mdm.mapper.SysFieldMapper; |
| | | import com.highdatas.mdm.mapper.TableInfoMapper; |
| | | import com.highdatas.mdm.pojo.ActivitiStatus; |
| | | import com.highdatas.mdm.pojo.Operate; |
| | | import com.highdatas.mdm.pojo.Page; |
| | | import com.highdatas.mdm.pojo.Result; |
| | | import com.highdatas.mdm.service.IFlowsService; |
| | | import com.highdatas.mdm.service.IMaintainFieldService; |
| | |
| | | MaintainFieldMapper maintainFieldMapper; |
| | | @Autowired |
| | | IFlowsService flowsService; |
| | | @Autowired |
| | | TableInfoMapper tableInfoMapper; |
| | | |
| | | |
| | | @Override |
| | |
| | | fieldList = this.selectList(new EntityWrapper<SysField>().eq("table_name", maintain.getTableName()).isNull("maintain_field_id").orderBy("order_no")); |
| | | return fieldList; |
| | | }else { |
| | | Integer preNo = maintainFieldOrderNo--; |
| | | Integer preNo = maintainFieldOrderNo - 1; |
| | | maintainField = maintainFieldService.selectOne(new EntityWrapper<MaintainField>().eq("table_name", maintain.getTableName()).eq("order_no", preNo)); |
| | | fieldList = this.selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainFieldId).eq("table_name", tableName).orderBy("order_no")); |
| | | fieldList = this.selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainField.getId()).eq("table_name", tableName).orderBy("order_no")); |
| | | return fieldList; |
| | | } |
| | | |
| | |
| | | public List<SysField> getFieldByTable(String tableName) { |
| | | Maintain nowVersion = maintainService.getNowVersion(tableName); |
| | | if (nowVersion == null) { |
| | | return null; |
| | | List<SysField> fieldList = this.selectList(new EntityWrapper<SysField>().eq("table_name", tableName).isNull("maintain_field_id").orderBy("order_no")); |
| | | if (fieldList.size() ==0) { |
| | | List<TableSchemaResult> tableField = tableInfoMapper.getTableField(tableName); |
| | | for (TableSchemaResult tableSchemaResult : tableField) { |
| | | String fieldName = tableSchemaResult.getFieldName(); |
| | | SysField field = new SysField().setField(fieldName); |
| | | fieldList.add(field); |
| | | } |
| | | } |
| | | return fieldList; |
| | | } |
| | | return getFieldByMaintain(nowVersion.getId()); |
| | | } |
| | |
| | | return Result.success(result); |
| | | } |
| | | |
| | | @Override |
| | | public Result getTotalFields(String tableName, Integer pageNo, Integer pageSize) { |
| | | Result totalFields = getTotalFields(tableName); |
| | | JSONObject result = (JSONObject) totalFields.getData(); |
| | | JSONArray list = result.getJSONArray("list"); |
| | | int total = list.size(); |
| | | Page page = new Page(total); |
| | | page.setPageSize(pageSize); |
| | | page.setPageNo(pageNo); |
| | | List<Object> subList = 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); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | private List<SysField> packageFieldList(List<SysField> nowFields, List<SysField> maxFields) { |
| | | //原始的清除operate用于前端显示 |
| | | nowFields = nowFields.stream().map(sysField -> sysField.setOperate(null)).collect(Collectors.toList()); |
| | |
| | | Collections.sort(nowFields, new Comparator<SysField>() { |
| | | @Override |
| | | public int compare(SysField o1, SysField o2) { |
| | | return o1.getOrderNo() - o2.getOrderNo() ; |
| | | Integer o1OrderNo = o1.getOrderNo(); |
| | | Integer orderNo = o2.getOrderNo(); |
| | | if (o1OrderNo == null && orderNo == null) { |
| | | return 0; |
| | | }else if (o1OrderNo == null) { |
| | | return -1; |
| | | }else if (orderNo == null) { |
| | | return 1; |
| | | } |
| | | return o1OrderNo - orderNo; |
| | | } |
| | | }); |
| | | return nowFields; |