package com.engine.organization.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.engine.core.impl.Service; import com.engine.organization.entity.extend.bo.ExtendGroupBO; import com.engine.organization.entity.extend.po.ExtendGroupPO; import com.engine.organization.entity.extend.po.ExtendTitlePO; import com.engine.organization.entity.fieldset.vo.TypeTreeVO; import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.mapper.extend.ExtendGroupMapper; import com.engine.organization.mapper.extend.ExtendInfoMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.service.FieldDefinedService; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; import com.weaver.general.Util; import org.apache.commons.lang.StringUtils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Author weaver_cl * @Description: * @Date 2022/6/13 * @Version V1.0 **/ public class FieldDefinedServiceImpl extends Service implements FieldDefinedService { private ExtendTitleMapper getExtendTitleMapper() { return MapperProxyFactory.getProxy(ExtendTitleMapper.class); } private ExtendInfoMapper getExtendInfoMapper() { return MapperProxyFactory.getProxy(ExtendInfoMapper.class); } @Override public List getTree(ModuleTypeEnum moduleTypeEnum) { Integer extendType = moduleTypeEnum.getValue(); List extendGroupPOS = MapperProxyFactory.getProxy(ExtendGroupMapper.class).listByType(extendType); return ExtendGroupBO.buildTypeTree(extendGroupPOS); } @Override public Map getTabInfo(String groupType) { OrganizationAssert.notBlank(groupType, "分组信息有误,请确认"); Map datas = new HashMap<>(); Long groupId = Long.parseLong(groupType); List extendTitleList = getExtendTitleMapper().getTitlesByGroupID(groupId); List> tabs = new ArrayList<>(); int idx = 1; for (ExtendTitlePO extendTitle : extendTitleList) { Map tab = new HashMap<>(); tab.put("tabkey", idx++); tab.put("title", extendTitle.getTitle()); tab.put("isShow", extendTitle.getIsShow()); tab.put("groupid", extendTitle.getGroupId()); tab.put("viewAttr", extendTitle.getGroupId() < 0 ? 1 : 2); tab.put("editable", editTable(extendTitle.getId())); tabs.add(tab); } datas.put("status", "1"); datas.put("tabs", tabs); return datas; } @Override public int saveFields(String data) { if (StringUtils.isEmpty(data)) { return 0; } JSONObject jsonObject = JSON.parseObject(data); String groupType = Util.null2String(jsonObject.getString("groupType")); String groupId = Util.null2String(jsonObject.getString("groupId")); return 0; } /** * 判断该分组下是否有字段 * * @param id * @return */ private boolean editTable(Long id) { return getExtendInfoMapper().countFieldsByGroupId(id) > 0; } }