公司/分部 主表、拓展表动态添加字段、动态分组

pull/73/MERGE^2
dxfeng 3 years ago
parent 49155c6893
commit 3a075f4ec6

@ -0,0 +1,39 @@
package com.engine.organization.entity;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.api.browser.bean.SearchConditionOption;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.List;
/**
* @description: TODO
* @author:dxfeng
* @createTime: 2022/06/13
* @version: 1.0
*/
public class SelectOptionParam {
/**
* Json
*
* @param datas
* @return
*/
public static List<SearchConditionOption> convertJsonToListOption(String datas) {
List<SearchConditionOption> selectOptions = new ArrayList<>();
if (StringUtils.isNotBlank(datas)) {
JSONArray objectArray = JSON.parseArray(datas);
int size = objectArray.size();
for (int i = 0; i < size; i++) {
JSONObject jsonObject = (JSONObject) objectArray.get(i);
SearchConditionOption option = new SearchConditionOption(jsonObject.getString("key"), jsonObject.getString("option"));
selectOptions.add(option);
}
}
return selectOptions;
}
}

@ -26,7 +26,20 @@ public class CompBO {
Map<Long, CompPO> poMaps = list.stream().collect(Collectors.toMap(CompPO::getId, item -> item)); Map<Long, CompPO> poMaps = list.stream().collect(Collectors.toMap(CompPO::getId, item -> item));
List<CompListDTO> dtoList = list.stream().map(e -> CompListDTO.builder().id(e.getId()).compNo(e.getCompNo()).compName(e.getCompName()).compNameShort(e.getCompNameShort()).parentCompany(e.getParentCompany()).parentCompName(null == poMaps.get(e.getParentCompany()) ? "" : poMaps.get(e.getParentCompany()).getCompName()).orgCode(e.getOrgCode()).industry(new SectorInfoComInfo().getSectorInfoname(e.getIndustry() + "")).compPrincipal(getUserNameById(e.getCompPrincipal() + "")).forbiddenTag(e.getForbiddenTag()).build()).collect(Collectors.toList()); List<CompListDTO> dtoList = list.stream().map(e ->
CompListDTO
.builder()
.id(e.getId())
.compNo(e.getCompNo())
.compName(e.getCompName())
.compNameShort(e.getCompNameShort())
.parentCompany(e.getParentCompany())
.parentCompName(null == poMaps.get(e.getParentCompany()) ? "" : poMaps.get(e.getParentCompany()).getCompName())
.orgCode(e.getOrgCode())
.industry(new SectorInfoComInfo().getSectorInfoname(e.getIndustry() + ""))
.compPrincipal(getUserNameById(e.getCompPrincipal() + ""))
.forbiddenTag(e.getForbiddenTag())
.build()).collect(Collectors.toList());
Map<Long, List<CompListDTO>> collects = dtoList.stream().filter(item -> null != item.getParentCompany() && 0 != item.getParentCompany()).collect(Collectors.groupingBy(CompListDTO::getParentCompany)); Map<Long, List<CompListDTO>> collects = dtoList.stream().filter(item -> null != item.getParentCompany() && 0 != item.getParentCompany()).collect(Collectors.groupingBy(CompListDTO::getParentCompany));
// 处理被引用数据 // 处理被引用数据
List<String> usedIds = MapperProxyFactory.getProxy(CompMapper.class).listUsedId(); List<String> usedIds = MapperProxyFactory.getProxy(CompMapper.class).listUsedId();

@ -0,0 +1,24 @@
package com.engine.organization.entity.extend;
/**
* @description: TODO
* @author:dxfeng
* @createTime: 2022/06/13
* @version: 1.0
*/
public enum ExtendInfoOperateType {
LIST("list"),
SEARCH("search"),
EDIT("edit"),
ADD("add");
private String value;
ExtendInfoOperateType(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}

@ -3,6 +3,7 @@ package com.engine.organization.entity.extend.bo;
import com.api.browser.bean.BrowserBean; import com.api.browser.bean.BrowserBean;
import com.api.browser.bean.BrowserValueInfo; import com.api.browser.bean.BrowserValueInfo;
import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.api.browser.service.BrowserValueInfoService; import com.api.browser.service.BrowserValueInfoService;
import com.api.browser.util.BrowserInitUtil; import com.api.browser.util.BrowserInitUtil;
import com.api.browser.util.ConditionFactory; import com.api.browser.util.ConditionFactory;
@ -11,6 +12,7 @@ import com.api.hrm.bean.FieldItem;
import com.api.hrm.util.FieldType; import com.api.hrm.util.FieldType;
import com.api.hrm.util.ServiceUtil; import com.api.hrm.util.ServiceUtil;
import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit; import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit;
import com.engine.organization.entity.SelectOptionParam;
import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.extend.po.ExtendInfoPO;
import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.OrganizationFormItemUtil;
import com.engine.sensitive.biz.SensitiveWordTypeComInfo; import com.engine.sensitive.biz.SensitiveWordTypeComInfo;
@ -114,7 +116,7 @@ public class ExtendInfoBO {
// 浏览按钮特殊处理 // 浏览按钮特殊处理
if (FieldType.BROWSER.equals(fieldItem.getType())) { if (FieldType.BROWSER.equals(fieldItem.getType())) {
BrowserBean browserConditionParam = OrganizationFormItemUtil.browserItem(user, 2, 16, fieldItem.getViewAttr(), false, extendInfoPO.getFieldNameDesc(), extendInfoPO.getBrowserType(), extendInfoPO.getFieldName(), extendInfoPO.getCustomBrowserId()).getBrowserConditionParam(); BrowserBean browserConditionParam = OrganizationFormItemUtil.browserItem(user, 2, 16, fieldItem.getViewAttr(), false, extendInfoPO.getFieldNameDesc(), extendInfoPO.getBrowserType(), extendInfoPO.getFieldName(), extendInfoPO.getCustomValue()).getBrowserConditionParam();
fieldItem.setBrowserConditionParam(browserConditionParam); fieldItem.setBrowserConditionParam(browserConditionParam);
} }
@ -163,7 +165,7 @@ public class ExtendInfoBO {
String fieldlabel = Util.null2String(extendInfoPO.getFieldNameDesc());//字段显示名 String fieldlabel = Util.null2String(extendInfoPO.getFieldNameDesc());//字段显示名
String fieldhtmltype = Util.null2String(extendInfoPO.getControlType());//字段类型 String fieldhtmltype = Util.null2String(extendInfoPO.getControlType());//字段类型
String detailtype = Util.null2String(extendInfoPO.getBrowserType());//字段二级类型(浏览框--单人力) String detailtype = Util.null2String(extendInfoPO.getBrowserType());//字段二级类型(浏览框--单人力)
String dmlurl = Util.null2String(""); String customValue = Util.null2String(extendInfoPO.getCustomValue());
boolean isQuickSearch = true; boolean isQuickSearch = true;
boolean isScope = false; boolean isScope = false;
@ -176,7 +178,7 @@ public class ExtendInfoBO {
} else if (detailtype.equals("2")) {//数字 } else if (detailtype.equals("2")) {//数字
searchConditionItem = conditionFactory.createCondition(ConditionType.INPUTNUMBER, fieldlabel, fieldname, isQuickSearch); searchConditionItem = conditionFactory.createCondition(ConditionType.INPUTNUMBER, fieldlabel, fieldname, isQuickSearch);
} else { } else {
searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, fieldlabel, fieldname, isQuickSearch); searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, "25034", fieldname, isQuickSearch);
} }
} else if (fieldhtmltype.equals("2")) {//多行文本框 } else if (fieldhtmltype.equals("2")) {//多行文本框
searchConditionItem = conditionFactory.createCondition(ConditionType.TEXTAREA, fieldlabel, fieldname); searchConditionItem = conditionFactory.createCondition(ConditionType.TEXTAREA, fieldlabel, fieldname);
@ -212,25 +214,25 @@ public class ExtendInfoBO {
searchConditionItem = conditionFactory.createCondition(ConditionType.TIMERANGEPICKER, fieldlabel, domkey); searchConditionItem = conditionFactory.createCondition(ConditionType.TIMERANGEPICKER, fieldlabel, domkey);
searchConditionItem.setValue(fieldvalue); searchConditionItem.setValue(fieldvalue);
} else { } else {
//if (detailtype.equals("161") || detailtype.equals("162") || detailtype.equals("256") || detailtype.equals("257")) { if (detailtype.equals("161") || detailtype.equals("162") || detailtype.equals("256") || detailtype.equals("257")) {
// BrowserBean browserbean = new BrowserBean(detailtype + ""); BrowserBean browserbean = new BrowserBean(detailtype + "");
// BrowserInitUtil browserInitUtil = new BrowserInitUtil(); BrowserInitUtil browserInitUtil = new BrowserInitUtil();
// String fielddbtype = dmlurl; String fielddbtype = customValue;
// if (!dmlurl.startsWith("browser.")) { if (!customValue.startsWith("browser.")) {
// fielddbtype = "browser." + dmlurl; fielddbtype = "browser." + customValue;
// } }
// if (detailtype.equals("161") || detailtype.equals("162")) { if (detailtype.equals("161") || detailtype.equals("162")) {
// browserInitUtil.initCustomizeBrow(browserbean, fielddbtype, Util.getIntValue(detailtype), user.getUID()); browserInitUtil.initCustomizeBrow(browserbean, fielddbtype, Util.getIntValue(detailtype), user.getUID());
// } else { } else {
// browserbean.getDataParams().put("cube_treeid", dmlurl); browserbean.getDataParams().put("cube_treeid", customValue);
// browserbean.getDataParams().put("currenttime", System.currentTimeMillis()); browserbean.getDataParams().put("currenttime", System.currentTimeMillis());
// browserInitUtil.initBrowser(browserbean, user.getLanguage()); browserInitUtil.initBrowser(browserbean, user.getLanguage());
// } }
// searchConditionItem = new SearchConditionItem(ConditionType.BROWSER, SystemEnv.getHtmlLabelNames(fieldlabel, user.getLanguage()), new String[]{fieldname}, browserbean); searchConditionItem = new SearchConditionItem(ConditionType.BROWSER, fieldlabel, new String[]{fieldname}, browserbean);
//} else { } else {
searchConditionItem = conditionFactory.createCondition(ConditionType.BROWSER, fieldlabel, fieldname, detailtype); searchConditionItem = conditionFactory.createCondition(ConditionType.BROWSER, fieldlabel, fieldname, detailtype);
//} }
// searchConditionItem.getBrowserConditionParam().setHideVirtualOrg(hrmFieldBean.getHideVirtualOrg()); //searchConditionItem.getBrowserConditionParam().setHideVirtualOrg(hrmFieldBean.getHideVirtualOrg());
List<Map<String, Object>> replaceDatas = new ArrayList<Map<String, Object>>(); List<Map<String, Object>> replaceDatas = new ArrayList<Map<String, Object>>();
String tmpFieldValue = Util.null2String(fieldvalue); String tmpFieldValue = Util.null2String(fieldvalue);
if (detailtype.equals("mkqshift")) { if (detailtype.equals("mkqshift")) {
@ -260,7 +262,9 @@ public class ExtendInfoBO {
for (int i = 0; fieldvalues != null && i < fieldvalues.size(); i++) { for (int i = 0; fieldvalues != null && i < fieldvalues.size(); i++) {
BrowserValueInfo valueInfo = fieldvalues.get(i); BrowserValueInfo valueInfo = fieldvalues.get(i);
String fieldshowname = valueInfo.getName(); String fieldshowname = valueInfo.getName();
if (fieldshowname.length() == 0) continue; if (fieldshowname.length() == 0) {
continue;
}
Map<String, Object> replaceData = new HashMap<String, Object>(); Map<String, Object> replaceData = new HashMap<String, Object>();
replaceData.put("id", valueInfo.getId()); replaceData.put("id", valueInfo.getId());
replaceData.put("name", fieldshowname); replaceData.put("name", fieldshowname);
@ -268,7 +272,7 @@ public class ExtendInfoBO {
} }
} else { } else {
if (tmpFieldValue.length() > 0) { if (tmpFieldValue.length() > 0) {
String fieldshowname = hrmFieldManager.getFieldvalue(user, dmlurl, Util.getIntValue(fieldid), Util.getIntValue(fieldhtmltype), Util.getIntValue(detailtype), tmpFieldValue, 0); String fieldshowname = hrmFieldManager.getFieldvalue(user, customValue, Util.getIntValue(fieldid), Util.getIntValue(fieldhtmltype), Util.getIntValue(detailtype), tmpFieldValue, 0);
String[] fieldvalues = Util.splitString(tmpFieldValue, ","); String[] fieldvalues = Util.splitString(tmpFieldValue, ",");
String[] fieldshownames = Util.splitString(fieldshowname, ","); String[] fieldshownames = Util.splitString(fieldshowname, ",");
if (detailtype.equals("257")) { if (detailtype.equals("257")) {
@ -281,7 +285,9 @@ public class ExtendInfoBO {
if (fieldvalues.length != fieldshownames.length) { if (fieldvalues.length != fieldshownames.length) {
break; break;
} }
if (Util.null2String(fieldshownames[i]).length() == 0) continue; if (Util.null2String(fieldshownames[i]).length() == 0) {
continue;
}
Map<String, Object> replaceData = new HashMap<String, Object>(); Map<String, Object> replaceData = new HashMap<String, Object>();
replaceData.put("id", fieldvalues[i]); replaceData.put("id", fieldvalues[i]);
replaceData.put("name", fieldshownames[i]); replaceData.put("name", fieldshownames[i]);
@ -298,49 +304,15 @@ public class ExtendInfoBO {
} }
} else if (fieldhtmltype.equals("5")) { //选择框 } else if (fieldhtmltype.equals("5")) { //选择框
// List<SearchConditionOption> statusOptions = hrmFieldBean.getSelectOption();
// if (statusOptions == null) statusOptions = new ArrayList<SearchConditionOption>(); List<SearchConditionOption> searchConditionOptions = SelectOptionParam.convertJsonToListOption(customValue);
// try { searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, fieldlabel, fieldname, searchConditionOptions);
// if (fieldid.length() > 0) { if (detailtype.equals("") || detailtype.equals("0")) {
// rs = new RecordSet(); detailtype = "1";
// char flag = Util.getSeparator(); }
// if (hrmFieldBean.getIsFormField()) { searchConditionItem.setKey(Util.null2String(fieldvalue));
// if (Util.null2String(hrmFieldBean.getIssystem()).equals("1")) { searchConditionItem.setValue(fieldvalue+"");
// rs.executeProc("hrm_selectitembyid_new", "" + fieldid + flag + 1); searchConditionItem.setDetailtype(Util.getIntValue(detailtype, 3));
// } else {
// rs.executeProc("cus_selectitembyid_new", "" + fieldid + flag + 1);
// }
// } else {
// if (fieldname.startsWith("column_")) {
// rs.executeProc("cus_selectitembyid_new", "" + fieldid + flag + 1);
// } else {
// rs.executeProc("hrm_searchselectitembyid", fieldid);
// }
// }
// while (rs.next()) {
// String tmpselectvalue = Util.null2String(rs.getString("selectvalue"));
// String tmpselectname = Util.toScreen(rs.getString("selectname"), user.getLanguage());
// if (Util.null2String(rs.getString("cancel")).equals("1")) continue;
// boolean isDefault = Util.null2String(rs.getString("isdefault")).equals("y");
// if (!isDefault) {
// isDefault = Util.null2String(rs.getString("hrm_isdefault")).equals("1");
// }
// SearchConditionOption searchConditionOption = new SearchConditionOption(tmpselectvalue, tmpselectname, isDefault);
// if (!statusOptions.contains(searchConditionOption)) {
// statusOptions.add(searchConditionOption);
// }
// }
// }
// } catch (Exception e) {
// writeLog(e);
// }
// searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, fieldlabel, fieldname, statusOptions);
// if (detailtype.equals("") || detailtype.equals("0")) {
// detailtype = "1";
// }
// searchConditionItem.setKey(Util.null2String(fieldvalue));
// searchConditionItem.setValue(fieldvalue);
// searchConditionItem.setDetailtype(Util.getIntValue(detailtype, 3));
} else if (fieldhtmltype.equals("6")) {//附件 } else if (fieldhtmltype.equals("6")) {//附件
if (fieldname.equals("resourceimageid")) { if (fieldname.equals("resourceimageid")) {
searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, fieldlabel, fieldname, isQuickSearch); searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, fieldlabel, fieldname, isQuickSearch);

@ -100,9 +100,9 @@ public class ExtendInfoPO {
private Integer browserShow; private Integer browserShow;
/** /**
* *
*/ */
private String customBrowserId; private String customValue;
/** /**
* *

@ -20,5 +20,5 @@ public interface ExtendInfoMapper {
* @param tableName * @param tableName
* @return * @return
*/ */
List<ExtendInfoPO> listFields(@Param("extendType") String extendType, @Param("extendGroupId") String extendGroupId, @Param("tableName") String tableName); List<ExtendInfoPO> listFields(@Param("extendType") String extendType, @Param("extendGroupId") String extendGroupId, @Param("tableName") String tableName,@Param("operateType")String operateType);
} }

@ -18,6 +18,7 @@
<result column="edit_show" property="editShow"/> <result column="edit_show" property="editShow"/>
<result column="add_show" property="addShow"/> <result column="add_show" property="addShow"/>
<result column="browser_show" property="browserShow"/> <result column="browser_show" property="browserShow"/>
<result column="custom_value" property="customValue"/>
<result column="show_order" property="showOrder"/> <result column="show_order" property="showOrder"/>
<result column="creator" property="creator"/> <result column="creator" property="creator"/>
<result column="delete_type" property="deleteType"/> <result column="delete_type" property="deleteType"/>
@ -45,6 +46,7 @@
, t.edit_show , t.edit_show
, t.add_show , t.add_show
, t.browser_show , t.browser_show
, t.custom_value
, t.show_order , t.show_order
, t.creator , t.creator
, t.delete_type , t.delete_type
@ -68,6 +70,10 @@
<if test=" tableName != null and tableName != '' "> <if test=" tableName != null and tableName != '' ">
and table_name = #{tableName} and table_name = #{tableName}
</if> </if>
<if test=" operateType != null and operateType !='' ">
and ${operateType}_show = 1
</if>
order by show_order
</select> </select>

@ -26,7 +26,7 @@ public interface ExtService {
* @param groupId * @param groupId
* @return * @return
*/ */
List<SearchConditionItem> getExtForm(User user, String extendType, String tableName, int viewAttr, long id, String groupId); List<SearchConditionItem> getExtForm(User user, String extendType, String tableName, int viewAttr, long id, String groupId, String... readOnlyFields);
/** /**
* *

@ -249,7 +249,7 @@ public class CompServiceImpl extends Service implements CompService {
List<ExtendGroupPO> extendGroupPOS = getExtendGroupMapper().listGroupByPid(Long.parseLong(groupId)); List<ExtendGroupPO> extendGroupPOS = getExtendGroupMapper().listGroupByPid(Long.parseLong(groupId));
if (CollectionUtils.isNotEmpty(extendGroupPOS)) { if (CollectionUtils.isNotEmpty(extendGroupPOS)) {
for (ExtendGroupPO extendGroupPO : extendGroupPOS) { for (ExtendGroupPO extendGroupPO : extendGroupPOS) {
addGroups.add(new SearchConditionGroup(extendGroupPO.getGroupName(), true, getExtService(user).getExtForm(user, EXTEND_TYPE + "", Integer.parseInt(groupId) >= 0 ? JCL_ORG_COMPEXT : JCL_ORG_COMP, viewAttr, id, extendGroupPO.getId().toString()))); addGroups.add(new SearchConditionGroup(extendGroupPO.getGroupName(), true, getExtService(user).getExtForm(user, EXTEND_TYPE + "", Integer.parseInt(groupId) >= 0 ? JCL_ORG_COMPEXT : JCL_ORG_COMP, viewAttr, id, extendGroupPO.getId().toString(),"comp_no")));
} }
} }

@ -4,6 +4,7 @@ import com.api.browser.bean.SearchConditionItem;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.organization.entity.TopTab; import com.engine.organization.entity.TopTab;
import com.engine.organization.entity.codesetting.po.CodeRulePO; import com.engine.organization.entity.codesetting.po.CodeRulePO;
import com.engine.organization.entity.extend.ExtendInfoOperateType;
import com.engine.organization.entity.extend.bo.ExtendInfoBO; import com.engine.organization.entity.extend.bo.ExtendInfoBO;
import com.engine.organization.entity.extend.po.ExtendGroupPO; import com.engine.organization.entity.extend.po.ExtendGroupPO;
import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.extend.po.ExtendInfoPO;
@ -57,21 +58,26 @@ public class ExtServiceImpl extends Service implements ExtService {
@Override @Override
public List<SearchConditionItem> getExtForm(User user, String extendType, String tableName, int viewAttr, long id, String groupId) { public List<SearchConditionItem> getExtForm(User user, String extendType, String tableName, int viewAttr, long id, String groupId, String... readOnlyFields) {
List<SearchConditionItem> conditionItems = new ArrayList<>(); List<SearchConditionItem> conditionItems = new ArrayList<>();
// 2编辑 1查看 // 2编辑 1查看
OrganizationAssert.notNull(groupId, "请选择对应的拓展页"); OrganizationAssert.notNull(groupId, "请选择对应的拓展页");
List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, groupId, tableName); List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, groupId, tableName, ExtendInfoOperateType.EDIT.getValue());
String fields = infoPOList.stream().map(ExtendInfoPO::getFieldName).collect(Collectors.joining(",")); String fields = infoPOList.stream().map(ExtendInfoPO::getFieldName).collect(Collectors.joining(","));
Map<String, Object> compExtMap = getExtMapper().listExt(tableName, fields, id); Map<String, Object> compExtMap = getExtMapper().listExt(tableName, fields, id);
List<String> readOnlyFieldList = Arrays.asList(readOnlyFields);
// 组装拓展页内容 // 组装拓展页内容
for (ExtendInfoPO extendInfoPO : infoPOList) { for (ExtendInfoPO extendInfoPO : infoPOList) {
SearchConditionItem item = ExtendInfoBO.getSearchConditionItem(user, viewAttr, extendInfoPO, null == compExtMap ? null : compExtMap.get(extendInfoPO.getFieldName())); SearchConditionItem item = ExtendInfoBO.getSearchConditionItem(user, viewAttr, extendInfoPO, null == compExtMap ? null : compExtMap.get(extendInfoPO.getFieldName()));
item.setFieldcol(16); item.setFieldcol(16);
if (2 == viewAttr && 1 == extendInfoPO.getIsrequired()) { if (2 == viewAttr) {
item.setViewAttr(3); if (readOnlyFieldList.contains(extendInfoPO.getFieldName())) {
item.setRules("required|string"); item.setViewAttr(1);
} else if (1 == extendInfoPO.getIsrequired()) {
item.setViewAttr(3);
item.setRules("required|string");
}
} }
conditionItems.add(item); conditionItems.add(item);
} }
@ -84,7 +90,7 @@ public class ExtServiceImpl extends Service implements ExtService {
// 2编辑 1查看 // 2编辑 1查看
OrganizationAssert.notNull(groupId, "请选择对应的拓展页"); OrganizationAssert.notNull(groupId, "请选择对应的拓展页");
List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, groupId, tableName); List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, groupId, tableName, ExtendInfoOperateType.ADD.getValue());
// 组装拓展页内容 // 组装拓展页内容
for (ExtendInfoPO extendInfoPO : infoPOList) { for (ExtendInfoPO extendInfoPO : infoPOList) {
SearchConditionItem item = ExtendInfoBO.getSearchConditionItem(user, viewAttr, extendInfoPO, null); SearchConditionItem item = ExtendInfoBO.getSearchConditionItem(user, viewAttr, extendInfoPO, null);
@ -111,7 +117,7 @@ public class ExtServiceImpl extends Service implements ExtService {
public List<Map<String, Object>> getExtendTables(User user, String extendType, String tableName, long id, int viewAttr, boolean showLabel) { public List<Map<String, Object>> getExtendTables(User user, String extendType, String tableName, long id, int viewAttr, boolean showLabel) {
List<Map<String, Object>> tables = new ArrayList<>(); List<Map<String, Object>> tables = new ArrayList<>();
// 查询所有分布模块,拓展明细表信息 // 查询所有分布模块,拓展明细表信息
List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, "", tableName); List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, "", tableName, "");
Map<Long, List<ExtendInfoPO>> groupMap = infoPOList.stream().collect(Collectors.groupingBy(ExtendInfoPO::getExtendGroupId)); Map<Long, List<ExtendInfoPO>> groupMap = infoPOList.stream().collect(Collectors.groupingBy(ExtendInfoPO::getExtendGroupId));
// 遍历Map,组装数据 // 遍历Map,组装数据
for (Map.Entry<Long, List<ExtendInfoPO>> entry : groupMap.entrySet()) { for (Map.Entry<Long, List<ExtendInfoPO>> entry : groupMap.entrySet()) {
@ -147,8 +153,8 @@ public class ExtServiceImpl extends Service implements ExtService {
*/ */
public List<TopTab> getTabInfo(String extendType, String tableName) { public List<TopTab> getTabInfo(String extendType, String tableName) {
List<TopTab> topTabs = new ArrayList<>(); List<TopTab> topTabs = new ArrayList<>();
List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, "", tableName); List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, "", tableName, ExtendInfoOperateType.EDIT.getValue());
List<ExtendInfoPO> infoPOList1 = getExtendInfoMapper().listFields(extendType, "", tableName.toLowerCase().replace("ext", "")); List<ExtendInfoPO> infoPOList1 = getExtendInfoMapper().listFields(extendType, "", tableName.toLowerCase().replace("ext", ""), ExtendInfoOperateType.EDIT.getValue());
infoPOList.addAll(infoPOList1); infoPOList.addAll(infoPOList1);
List<Long> ids = infoPOList.stream().map(ExtendInfoPO::getExtendGroupId).collect(Collectors.toList()); List<Long> ids = infoPOList.stream().map(ExtendInfoPO::getExtendGroupId).collect(Collectors.toList());
List<ExtendGroupPO> extendGroupPOS = getExtendGroupMapper().listGroupByIds(ids); List<ExtendGroupPO> extendGroupPOS = getExtendGroupMapper().listGroupByIds(ids);
@ -165,7 +171,7 @@ public class ExtServiceImpl extends Service implements ExtService {
@Override @Override
public int updateExtForm(User user, String extendType, String tableName, Map<String, Object> params, String groupId, Long id) { public int updateExtForm(User user, String extendType, String tableName, Map<String, Object> params, String groupId, Long id) {
int updateBaseComp; int updateBaseComp;
List<ExtendInfoPO> extInfoPOList = getExtendInfoMapper().listFields(extendType, groupId, tableName); List<ExtendInfoPO> extInfoPOList = getExtendInfoMapper().listFields(extendType, groupId, tableName, "");
List<String> extFields = extInfoPOList.stream().map(ExtendInfoPO::getFieldName).collect(Collectors.toList()); List<String> extFields = extInfoPOList.stream().map(ExtendInfoPO::getFieldName).collect(Collectors.toList());
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
for (String dtField : extFields) { for (String dtField : extFields) {
@ -189,7 +195,7 @@ public class ExtServiceImpl extends Service implements ExtService {
@Override @Override
public void updateExtDT(User user, String extendType, String tableName, Map<String, Object> params, Long id) { public void updateExtDT(User user, String extendType, String tableName, Map<String, Object> params, Long id) {
List<ExtendInfoPO> dtInfoPOList = getExtendInfoMapper().listFields(extendType, "", tableName); List<ExtendInfoPO> dtInfoPOList = getExtendInfoMapper().listFields(extendType, "", tableName, "");
List<Long> groupIds = dtInfoPOList.stream().map(ExtendInfoPO::getExtendGroupId).distinct().collect(Collectors.toList()); List<Long> groupIds = dtInfoPOList.stream().map(ExtendInfoPO::getExtendGroupId).distinct().collect(Collectors.toList());
Map<Long, List<ExtendInfoPO>> poMaps = dtInfoPOList.stream().collect(Collectors.groupingBy(ExtendInfoPO::getExtendGroupId)); Map<Long, List<ExtendInfoPO>> poMaps = dtInfoPOList.stream().collect(Collectors.groupingBy(ExtendInfoPO::getExtendGroupId));
// 删除原有明细表数据 // 删除原有明细表数据
@ -201,7 +207,7 @@ public class ExtServiceImpl extends Service implements ExtService {
for (int i = 0; i < rowNum; i++) { for (int i = 0; i < rowNum; i++) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
for (ExtendInfoPO extendInfoPO : filterS) { for (ExtendInfoPO extendInfoPO : filterS) {
if (BROWSER_TYPE == extendInfoPO.getControlType()) { if (BROWSER_TYPE.equals(extendInfoPO.getControlType())) {
map.put(extendInfoPO.getFieldName() + "span", params.get(extendInfoPO.getFieldName() + "span_" + i)); map.put(extendInfoPO.getFieldName() + "span", params.get(extendInfoPO.getFieldName() + "span_" + i));
} }
map.put(extendInfoPO.getFieldName(), params.get(extendInfoPO.getFieldName() + "_" + i)); map.put(extendInfoPO.getFieldName(), params.get(extendInfoPO.getFieldName() + "_" + i));

@ -334,8 +334,8 @@ public class JobServiceImpl extends Service implements JobService {
tableMap.put("tabname", "职等职级"); tableMap.put("tabname", "职等职级");
Map<String, Object> tabinfoMap = new HashMap<>(); Map<String, Object> tabinfoMap = new HashMap<>();
List<ExtendInfoPO> infoPOList = new ArrayList<>(); List<ExtendInfoPO> infoPOList = new ArrayList<>();
infoPOList.add(ExtendInfoPO.builder().fieldName("gradeId").fieldNameDesc("职级").controlType(3).isrequired(1).browserType("161").customBrowserId("gradeBrowser").build()); infoPOList.add(ExtendInfoPO.builder().fieldName("gradeId").fieldNameDesc("职级").controlType(3).isrequired(1).browserType("161").customValue("gradeBrowser").build());
infoPOList.add(ExtendInfoPO.builder().fieldName("levelId").fieldNameDesc("职等").controlType(3).isrequired(1).browserType("162").customBrowserId("levelBrowser").build()); infoPOList.add(ExtendInfoPO.builder().fieldName("levelId").fieldNameDesc("职等").controlType(3).isrequired(1).browserType("162").customValue("levelBrowser").build());
tabinfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, viewAttr, false)); tabinfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, viewAttr, false));
tabinfoMap.put("rownum", "rownum"); tabinfoMap.put("rownum", "rownum");
// 去除null 元素 // 去除null 元素

Loading…
Cancel
Save