自定义字段列表接口

pull/90/MERGE^2
dxfeng 3 years ago
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…
Cancel
Save