自定义字段列表接口
This commit is contained in:
parent
5fd7eb3498
commit
4d2a70ad5d
|
|
@ -87,4 +87,29 @@ public class SelectOptionParam {
|
|||
}
|
||||
return customValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取下拉框信息
|
||||
*
|
||||
* @param customValue
|
||||
* @return
|
||||
*/
|
||||
public static List<Object> getSelectFields(String customValue) {
|
||||
List<Object> selectFields = new ArrayList<>();
|
||||
JSONArray objects = JSONObject.parseArray(customValue);
|
||||
if (objects.size() < 3) {
|
||||
return selectFields;
|
||||
}
|
||||
JSONObject o = (JSONObject) objects.get(2);
|
||||
JSONArray datas = o.getJSONArray("datas");
|
||||
if (!datas.isEmpty()) {
|
||||
int size = datas.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
selectFields.add(datas.get(i));
|
||||
}
|
||||
}
|
||||
return selectFields;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,12 @@ import com.engine.organization.entity.SelectOptionParam;
|
|||
import com.engine.organization.entity.extend.param.ExtendInfoFieldParam;
|
||||
import com.engine.organization.entity.extend.po.ExtendGroupPO;
|
||||
import com.engine.organization.entity.extend.po.ExtendInfoPO;
|
||||
import com.engine.organization.mapper.extend.ExtendInfoMapper;
|
||||
import com.engine.organization.util.OrganizationFormItemUtil;
|
||||
import com.engine.organization.util.db.MapperProxyFactory;
|
||||
import com.engine.sensitive.biz.SensitiveWordTypeComInfo;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.file.ImageFileManager;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
|
@ -111,6 +114,22 @@ public class ExtendInfoBO {
|
|||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 当前自定义字段是否已使用
|
||||
*
|
||||
* @param tableName
|
||||
* @param fieldName
|
||||
* @return
|
||||
*/
|
||||
public static boolean fieldIsUsed(String tableName, String fieldName) {
|
||||
if (StringUtils.isAnyEmpty(tableName, fieldName)) {
|
||||
return true;
|
||||
}
|
||||
List<Object> objects = MapperProxyFactory.getProxy(ExtendInfoMapper.class).listFieldsByTableName(tableName, fieldName);
|
||||
objects.removeIf(Objects::isNull);
|
||||
return CollectionUtils.isNotEmpty(objects);
|
||||
}
|
||||
|
||||
/**
|
||||
* 明细表字段
|
||||
*
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @description: TODO
|
||||
* @author:dxfeng
|
||||
* @createTime: 2022/06/16
|
||||
* @version: 1.0
|
||||
|
|
|
|||
|
|
@ -26,5 +26,7 @@ public interface ExtendInfoMapper {
|
|||
|
||||
Long getMaxId();
|
||||
|
||||
List<Object> listFieldsByTableName(@Param("tableName") String tableName, @Param("fieldName") String fieldName);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -237,6 +237,10 @@
|
|||
from jcl_field_extendinfo
|
||||
order by id desc
|
||||
</select>
|
||||
<select id="listFieldsByTableName" resultType="java.lang.Object">
|
||||
select ${fieldName}
|
||||
from ${tableName}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -227,26 +227,27 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|||
String fieldName = extendInfoPO.getFieldName();
|
||||
String fieldLabel = extendInfoPO.getFieldNameDesc();
|
||||
String fieldHtmlType = extendInfoPO.getControlType().toString();
|
||||
String fieldtype = extendInfoPO.getBrowserType();
|
||||
String browserType = extendInfoPO.getBrowserType();
|
||||
String customValue = extendInfoPO.getCustomValue();
|
||||
String fielddmlurl = "";
|
||||
String fieldstrlength = SelectOptionParam.getTextLength(customValue);
|
||||
String fieldStrLength = SelectOptionParam.getTextLength(customValue);
|
||||
//自定义字段排序 标识rowKey
|
||||
String fieldidrowKey;
|
||||
int dsporder = extendInfoPO.getShowOrder();
|
||||
boolean isUsed = false;
|
||||
// TODO 去除脏数据后调整为extendInfoPO.getId() > 0
|
||||
// 系统字段id<0
|
||||
boolean isSysField = extendInfoPO.getId() < 0;
|
||||
boolean isSysField = extendInfoPO.getExtendGroupId() < 0;
|
||||
if (isSysField) {
|
||||
fieldidrowKey = fieldId + "_hrm";
|
||||
} else {
|
||||
fieldidrowKey = fieldId + "_cus";
|
||||
}
|
||||
// TODO 字段是否已使用
|
||||
// if (!isSysField) isUsed = hfm.fieldIsUsed("field" + hfm.getFieldid());
|
||||
boolean allowhide = extendInfoPO.getId() < 0;
|
||||
boolean allowModify = extendInfoPO.getId() < 0;
|
||||
|
||||
if (!isSysField) {
|
||||
isUsed = ExtendInfoBO.fieldIsUsed(extendInfoPO.getTableName(), extendInfoPO.getFieldName());
|
||||
}
|
||||
// TODO 去除脏数据后调整为extendInfoPO.getId() > 0
|
||||
boolean allowHide = extendInfoPO.getExtendGroupId() > 0;
|
||||
boolean allowModify = extendInfoPO.getExtendGroupId() > 0;
|
||||
|
||||
BrowserComInfo BrowserComInfo = new BrowserComInfo();
|
||||
List<Object> fieldTypeObj = new ArrayList<>();
|
||||
|
|
@ -255,18 +256,21 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|||
case "1":
|
||||
fieldTypeObj.add("input");
|
||||
fieldType = SystemEnv.getHtmlLabelName(688, user.getLanguage());
|
||||
|
||||
if (fieldtype.equals("1")) {
|
||||
fieldTypeObj.add("text");
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(608, user.getLanguage());
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(608, user.getLanguage()) + ":" + fieldstrlength;
|
||||
fieldTypeObj.add(fieldstrlength);
|
||||
} else if (fieldtype.equals("2")) {
|
||||
fieldTypeObj.add("int");
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(696, user.getLanguage());
|
||||
} else if (fieldtype.equals("3")) {
|
||||
fieldTypeObj.add("float");
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(697, user.getLanguage());
|
||||
switch (browserType) {
|
||||
case "1":
|
||||
fieldTypeObj.add("text");
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(608, user.getLanguage());
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(608, user.getLanguage()) + ":" + fieldStrLength;
|
||||
fieldTypeObj.add(fieldStrLength);
|
||||
break;
|
||||
case "2":
|
||||
fieldTypeObj.add("int");
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(696, user.getLanguage());
|
||||
break;
|
||||
case "3":
|
||||
fieldTypeObj.add("float");
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(697, user.getLanguage());
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case "2":
|
||||
|
|
@ -277,25 +281,21 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|||
fieldTypeObj.add("browser");
|
||||
List<Object> replaceDatas = new ArrayList<>();
|
||||
Map<String, Object> tmp = new HashMap<>();
|
||||
tmp.put("value", fieldtype);
|
||||
tmp.put("valueSpan", SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(fieldtype), 0), user.getLanguage()));
|
||||
tmp.put("value", browserType);
|
||||
tmp.put("valueSpan", SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(browserType), 0), user.getLanguage()));
|
||||
Map<String, Object> tmp1 = new HashMap<>();
|
||||
tmp1.put("id", fieldtype);
|
||||
tmp1.put("name", SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(fieldtype), 0), user.getLanguage()));
|
||||
tmp1.put("id", browserType);
|
||||
tmp1.put("name", SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(browserType), 0), user.getLanguage()));
|
||||
replaceDatas.add(tmp1);
|
||||
tmp.put("replaceDatas", replaceDatas);
|
||||
fieldTypeObj.add(tmp);
|
||||
if (fieldtype.equals("161") || fieldtype.equals("162") || fieldtype.equals("256") || fieldtype.equals("257")) {
|
||||
fieldType = SystemEnv.getHtmlLabelName(695, user.getLanguage());
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(browserType), 0), user.getLanguage());
|
||||
if (browserType.equals("161") || browserType.equals("162") || browserType.equals("256") || browserType.equals("257")) {
|
||||
tmp = new HashMap<>();
|
||||
tmp.put("value", SelectOptionParam.getCustomBrowserId(customValue));
|
||||
tmp.put("valueSpan", SelectOptionParam.getCustomBrowserValueSpan(customValue));
|
||||
fieldTypeObj.add(tmp);
|
||||
}
|
||||
fieldType = SystemEnv.getHtmlLabelName(695, user.getLanguage());
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(fieldtype), 0), user.getLanguage());
|
||||
// TODO
|
||||
if ("emptyVal".equals(fielddmlurl) || "".equals(fielddmlurl)) {
|
||||
} else {
|
||||
fieldType += " " + SelectOptionParam.getCustomBrowserValueSpan(customValue);
|
||||
}
|
||||
break;
|
||||
|
|
@ -308,7 +308,7 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|||
fieldTypeObj.add("select");
|
||||
fieldTypeObj.add("select");
|
||||
Map<String, Object> tmp = new HashMap<>();
|
||||
tmp.put("datas", SelectOptionParam.convertJsonToListOption(customValue));
|
||||
tmp.put("datas", SelectOptionParam.getSelectFields(customValue));
|
||||
tmp.put("sort", "horizontal");
|
||||
fieldTypeObj.add(tmp);
|
||||
fieldType = SystemEnv.getHtmlLabelName(690, user.getLanguage());
|
||||
|
|
@ -319,7 +319,6 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|||
fieldTypeObj.add("file");
|
||||
fieldType = SystemEnv.getHtmlLabelName(17616, user.getLanguage());
|
||||
fieldType += " " + SystemEnv.getHtmlLabelName(20798, user.getLanguage());
|
||||
//fieldType += " " + (fieldtype.equals("1") ? SystemEnv.getHtmlLabelName(20798, user.getLanguage()) : SystemEnv.getHtmlLabelName(20001, user.getLanguage()));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -330,9 +329,9 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|||
recordInfo.put("fieldname", fieldName);
|
||||
recordInfo.put("fieldType", fieldType);
|
||||
recordInfo.put("fieldTypeObj", fieldTypeObj);
|
||||
recordInfo.put("enable", extendInfoPO.getIsenable());
|
||||
recordInfo.put("required", extendInfoPO.getIsrequired());
|
||||
recordInfo.put("isModify", extendInfoPO.getEditShow());
|
||||
recordInfo.put("enable", extendInfoPO.getIsenable() + "");
|
||||
recordInfo.put("required", extendInfoPO.getIsrequired() + "");
|
||||
recordInfo.put("isModify", extendInfoPO.getEditShow() + "");
|
||||
recordInfo.put("viewAttr", isUsed || isSysField ? 1 : 2);
|
||||
recordInfo.put("key", "" + dsporder);
|
||||
recordInfo.put("fieldidrowKey", fieldidrowKey);
|
||||
|
|
@ -343,11 +342,12 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|||
Map<String, Object> checkPropsInfo = new HashMap<>();
|
||||
Map<String, Object> checkPropsEnableInfo = new HashMap<>();
|
||||
Map<String, Object> checkPropsRequiredInfo = new HashMap<>();
|
||||
|
||||
//允许个人修改字段check框属性
|
||||
Map<String, Object> checkPropsModifyInfo = new HashMap<>();
|
||||
checkPropsEnableInfo.put("viewAttr", allowhide ? 2 : 1);
|
||||
checkPropsEnableInfo.put("viewAttr", allowHide ? 2 : 1);
|
||||
checkPropsModifyInfo.put("viewAttr", allowModify ? 2 : 1);
|
||||
checkPropsRequiredInfo.put("viewAttr", allowhide ? 2 : 1);
|
||||
checkPropsRequiredInfo.put("viewAttr", allowHide ? 2 : 1);
|
||||
|
||||
checkPropsInfo.put("enable", checkPropsEnableInfo);
|
||||
checkPropsInfo.put("required", checkPropsRequiredInfo);
|
||||
|
|
@ -400,7 +400,7 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|||
|
||||
if (fieldHtmlType.equals("5")) {
|
||||
|
||||
fieldTypeParamInfo.put("datas", SelectOptionParam.convertJsonToListOption(customValue));
|
||||
fieldTypeParamInfo.put("datas", SelectOptionParam.getSelectFields(customValue));
|
||||
fieldTypeParamInfo.put("sort", "horizontal");
|
||||
fieldTypeInfo.add(fieldTypeParamInfo);
|
||||
fieldInfo.put("fieldType", fieldTypeInfo);
|
||||
|
|
@ -412,6 +412,8 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|||
|
||||
returnMap.put("data", lsFieldInfo);
|
||||
returnMap.put("encryptEnable", false);
|
||||
// TODO 后续去除
|
||||
returnMap.put("status", "1");
|
||||
return returnMap;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.organization.web;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.engine.common.util.ParamUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.organization.entity.extend.param.ExtendFieldSearchParam;
|
||||
|
|
@ -152,15 +153,17 @@ public class FieldDefinedController {
|
|||
@GET
|
||||
@Path("/{moduleTypeEnum}/getFieldDefinedInfo")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public ReturnResult getFieldDefinedInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum) {
|
||||
try {
|
||||
public String getFieldDefinedInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum) {
|
||||
// TODO
|
||||
//try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
Map<String, Object> map = ParamUtil.request2Map(request);
|
||||
String groupType = (String) map.get("groupType");
|
||||
String groupId = (String) map.get("groupId");
|
||||
return ReturnResult.successed(getFieldDefinedWrapper(user).getFieldDefinedInfo(ExtendFieldSearchParam.builder().groupType(groupType).groupId(groupId).build()));
|
||||
} catch (Exception e) {
|
||||
return ReturnResult.exceptionHandle(e.getMessage());
|
||||
}
|
||||
// return ReturnResult.successed(getFieldDefinedWrapper(user).getFieldDefinedInfo(ExtendFieldSearchParam.builder().groupType(groupType).groupId(groupId).build()));
|
||||
return JSON.toJSONString(getFieldDefinedWrapper(user).getFieldDefinedInfo(ExtendFieldSearchParam.builder().groupType(groupType).groupId(groupId).build()));
|
||||
//} catch (Exception e) {
|
||||
// return ReturnResult.exceptionHandle(e.getMessage());
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue