自定义字段列表接口

pull/90/MERGE^2
dxfeng 3 years ago
parent 5fd7eb3498
commit 4d2a70ad5d

@ -87,4 +87,29 @@ public class SelectOptionParam {
} }
return customValue; 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.param.ExtendInfoFieldParam;
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;
import com.engine.organization.mapper.extend.ExtendInfoMapper;
import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.OrganizationFormItemUtil;
import com.engine.organization.util.db.MapperProxyFactory;
import com.engine.sensitive.biz.SensitiveWordTypeComInfo; 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.file.ImageFileManager;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
@ -111,6 +114,22 @@ public class ExtendInfoBO {
.build(); .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; import lombok.NoArgsConstructor;
/** /**
* @description: TODO
* @author:dxfeng * @author:dxfeng
* @createTime: 2022/06/16 * @createTime: 2022/06/16
* @version: 1.0 * @version: 1.0

@ -26,5 +26,7 @@ public interface ExtendInfoMapper {
Long getMaxId(); Long getMaxId();
List<Object> listFieldsByTableName(@Param("tableName") String tableName, @Param("fieldName") String fieldName);
} }

@ -237,6 +237,10 @@
from jcl_field_extendinfo from jcl_field_extendinfo
order by id desc order by id desc
</select> </select>
<select id="listFieldsByTableName" resultType="java.lang.Object">
select ${fieldName}
from ${tableName}
</select>
</mapper> </mapper>

@ -227,26 +227,27 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
String fieldName = extendInfoPO.getFieldName(); String fieldName = extendInfoPO.getFieldName();
String fieldLabel = extendInfoPO.getFieldNameDesc(); String fieldLabel = extendInfoPO.getFieldNameDesc();
String fieldHtmlType = extendInfoPO.getControlType().toString(); String fieldHtmlType = extendInfoPO.getControlType().toString();
String fieldtype = extendInfoPO.getBrowserType(); String browserType = extendInfoPO.getBrowserType();
String customValue = extendInfoPO.getCustomValue(); String customValue = extendInfoPO.getCustomValue();
String fielddmlurl = ""; String fieldStrLength = SelectOptionParam.getTextLength(customValue);
String fieldstrlength = SelectOptionParam.getTextLength(customValue);
//自定义字段排序 标识rowKey //自定义字段排序 标识rowKey
String fieldidrowKey; String fieldidrowKey;
int dsporder = extendInfoPO.getShowOrder(); int dsporder = extendInfoPO.getShowOrder();
boolean isUsed = false; boolean isUsed = false;
// TODO 去除脏数据后调整为extendInfoPO.getId() > 0
// 系统字段id<0 // 系统字段id<0
boolean isSysField = extendInfoPO.getId() < 0; boolean isSysField = extendInfoPO.getExtendGroupId() < 0;
if (isSysField) { if (isSysField) {
fieldidrowKey = fieldId + "_hrm"; fieldidrowKey = fieldId + "_hrm";
} else { } else {
fieldidrowKey = fieldId + "_cus"; fieldidrowKey = fieldId + "_cus";
} }
// TODO 字段是否已使用 if (!isSysField) {
// if (!isSysField) isUsed = hfm.fieldIsUsed("field" + hfm.getFieldid()); isUsed = ExtendInfoBO.fieldIsUsed(extendInfoPO.getTableName(), extendInfoPO.getFieldName());
boolean allowhide = extendInfoPO.getId() < 0; }
boolean allowModify = extendInfoPO.getId() < 0; // TODO 去除脏数据后调整为extendInfoPO.getId() > 0
boolean allowHide = extendInfoPO.getExtendGroupId() > 0;
boolean allowModify = extendInfoPO.getExtendGroupId() > 0;
BrowserComInfo BrowserComInfo = new BrowserComInfo(); BrowserComInfo BrowserComInfo = new BrowserComInfo();
List<Object> fieldTypeObj = new ArrayList<>(); List<Object> fieldTypeObj = new ArrayList<>();
@ -255,18 +256,21 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
case "1": case "1":
fieldTypeObj.add("input"); fieldTypeObj.add("input");
fieldType = SystemEnv.getHtmlLabelName(688, user.getLanguage()); fieldType = SystemEnv.getHtmlLabelName(688, user.getLanguage());
switch (browserType) {
if (fieldtype.equals("1")) { case "1":
fieldTypeObj.add("text"); fieldTypeObj.add("text");
fieldType += " " + SystemEnv.getHtmlLabelName(608, user.getLanguage()); fieldType += " " + SystemEnv.getHtmlLabelName(608, user.getLanguage());
fieldType += " " + SystemEnv.getHtmlLabelName(608, user.getLanguage()) + ":" + fieldstrlength; fieldType += " " + SystemEnv.getHtmlLabelName(608, user.getLanguage()) + ":" + fieldStrLength;
fieldTypeObj.add(fieldstrlength); fieldTypeObj.add(fieldStrLength);
} else if (fieldtype.equals("2")) { break;
fieldTypeObj.add("int"); case "2":
fieldType += " " + SystemEnv.getHtmlLabelName(696, user.getLanguage()); fieldTypeObj.add("int");
} else if (fieldtype.equals("3")) { fieldType += " " + SystemEnv.getHtmlLabelName(696, user.getLanguage());
fieldTypeObj.add("float"); break;
fieldType += " " + SystemEnv.getHtmlLabelName(697, user.getLanguage()); case "3":
fieldTypeObj.add("float");
fieldType += " " + SystemEnv.getHtmlLabelName(697, user.getLanguage());
break;
} }
break; break;
case "2": case "2":
@ -277,25 +281,21 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
fieldTypeObj.add("browser"); fieldTypeObj.add("browser");
List<Object> replaceDatas = new ArrayList<>(); List<Object> replaceDatas = new ArrayList<>();
Map<String, Object> tmp = new HashMap<>(); Map<String, Object> tmp = new HashMap<>();
tmp.put("value", fieldtype); tmp.put("value", browserType);
tmp.put("valueSpan", SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(fieldtype), 0), user.getLanguage())); tmp.put("valueSpan", SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(browserType), 0), user.getLanguage()));
Map<String, Object> tmp1 = new HashMap<>(); Map<String, Object> tmp1 = new HashMap<>();
tmp1.put("id", fieldtype); tmp1.put("id", browserType);
tmp1.put("name", SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(fieldtype), 0), user.getLanguage())); tmp1.put("name", SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(browserType), 0), user.getLanguage()));
replaceDatas.add(tmp1); replaceDatas.add(tmp1);
tmp.put("replaceDatas", replaceDatas); tmp.put("replaceDatas", replaceDatas);
fieldTypeObj.add(tmp); 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 = new HashMap<>();
tmp.put("value", SelectOptionParam.getCustomBrowserId(customValue)); tmp.put("value", SelectOptionParam.getCustomBrowserId(customValue));
tmp.put("valueSpan", SelectOptionParam.getCustomBrowserValueSpan(customValue)); tmp.put("valueSpan", SelectOptionParam.getCustomBrowserValueSpan(customValue));
fieldTypeObj.add(tmp); 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); fieldType += " " + SelectOptionParam.getCustomBrowserValueSpan(customValue);
} }
break; break;
@ -308,7 +308,7 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
fieldTypeObj.add("select"); fieldTypeObj.add("select");
fieldTypeObj.add("select"); fieldTypeObj.add("select");
Map<String, Object> tmp = new HashMap<>(); Map<String, Object> tmp = new HashMap<>();
tmp.put("datas", SelectOptionParam.convertJsonToListOption(customValue)); tmp.put("datas", SelectOptionParam.getSelectFields(customValue));
tmp.put("sort", "horizontal"); tmp.put("sort", "horizontal");
fieldTypeObj.add(tmp); fieldTypeObj.add(tmp);
fieldType = SystemEnv.getHtmlLabelName(690, user.getLanguage()); fieldType = SystemEnv.getHtmlLabelName(690, user.getLanguage());
@ -319,7 +319,6 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
fieldTypeObj.add("file"); fieldTypeObj.add("file");
fieldType = SystemEnv.getHtmlLabelName(17616, user.getLanguage()); fieldType = SystemEnv.getHtmlLabelName(17616, user.getLanguage());
fieldType += " " + SystemEnv.getHtmlLabelName(20798, user.getLanguage()); fieldType += " " + SystemEnv.getHtmlLabelName(20798, user.getLanguage());
//fieldType += " " + (fieldtype.equals("1") ? SystemEnv.getHtmlLabelName(20798, user.getLanguage()) : SystemEnv.getHtmlLabelName(20001, user.getLanguage()));
break; break;
} }
@ -330,9 +329,9 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
recordInfo.put("fieldname", fieldName); recordInfo.put("fieldname", fieldName);
recordInfo.put("fieldType", fieldType); recordInfo.put("fieldType", fieldType);
recordInfo.put("fieldTypeObj", fieldTypeObj); recordInfo.put("fieldTypeObj", fieldTypeObj);
recordInfo.put("enable", extendInfoPO.getIsenable()); recordInfo.put("enable", extendInfoPO.getIsenable() + "");
recordInfo.put("required", extendInfoPO.getIsrequired()); recordInfo.put("required", extendInfoPO.getIsrequired() + "");
recordInfo.put("isModify", extendInfoPO.getEditShow()); recordInfo.put("isModify", extendInfoPO.getEditShow() + "");
recordInfo.put("viewAttr", isUsed || isSysField ? 1 : 2); recordInfo.put("viewAttr", isUsed || isSysField ? 1 : 2);
recordInfo.put("key", "" + dsporder); recordInfo.put("key", "" + dsporder);
recordInfo.put("fieldidrowKey", fieldidrowKey); recordInfo.put("fieldidrowKey", fieldidrowKey);
@ -343,11 +342,12 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
Map<String, Object> checkPropsInfo = new HashMap<>(); Map<String, Object> checkPropsInfo = new HashMap<>();
Map<String, Object> checkPropsEnableInfo = new HashMap<>(); Map<String, Object> checkPropsEnableInfo = new HashMap<>();
Map<String, Object> checkPropsRequiredInfo = new HashMap<>(); Map<String, Object> checkPropsRequiredInfo = new HashMap<>();
//允许个人修改字段check框属性 //允许个人修改字段check框属性
Map<String, Object> checkPropsModifyInfo = new HashMap<>(); Map<String, Object> checkPropsModifyInfo = new HashMap<>();
checkPropsEnableInfo.put("viewAttr", allowhide ? 2 : 1); checkPropsEnableInfo.put("viewAttr", allowHide ? 2 : 1);
checkPropsModifyInfo.put("viewAttr", allowModify ? 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("enable", checkPropsEnableInfo);
checkPropsInfo.put("required", checkPropsRequiredInfo); checkPropsInfo.put("required", checkPropsRequiredInfo);
@ -400,7 +400,7 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
if (fieldHtmlType.equals("5")) { if (fieldHtmlType.equals("5")) {
fieldTypeParamInfo.put("datas", SelectOptionParam.convertJsonToListOption(customValue)); fieldTypeParamInfo.put("datas", SelectOptionParam.getSelectFields(customValue));
fieldTypeParamInfo.put("sort", "horizontal"); fieldTypeParamInfo.put("sort", "horizontal");
fieldTypeInfo.add(fieldTypeParamInfo); fieldTypeInfo.add(fieldTypeParamInfo);
fieldInfo.put("fieldType", fieldTypeInfo); fieldInfo.put("fieldType", fieldTypeInfo);
@ -412,6 +412,8 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
returnMap.put("data", lsFieldInfo); returnMap.put("data", lsFieldInfo);
returnMap.put("encryptEnable", false); returnMap.put("encryptEnable", false);
// TODO 后续去除
returnMap.put("status", "1");
return returnMap; return returnMap;
} }

@ -1,5 +1,6 @@
package com.engine.organization.web; package com.engine.organization.web;
import com.alibaba.fastjson.JSON;
import com.engine.common.util.ParamUtil; import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.organization.entity.extend.param.ExtendFieldSearchParam; import com.engine.organization.entity.extend.param.ExtendFieldSearchParam;
@ -152,15 +153,17 @@ public class FieldDefinedController {
@GET @GET
@Path("/{moduleTypeEnum}/getFieldDefinedInfo") @Path("/{moduleTypeEnum}/getFieldDefinedInfo")
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
public ReturnResult getFieldDefinedInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum) { public String getFieldDefinedInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum) {
try { // TODO
//try {
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request); Map<String, Object> map = ParamUtil.request2Map(request);
String groupType = (String) map.get("groupType"); String groupType = (String) map.get("groupType");
String groupId = (String) map.get("groupId"); String groupId = (String) map.get("groupId");
return ReturnResult.successed(getFieldDefinedWrapper(user).getFieldDefinedInfo(ExtendFieldSearchParam.builder().groupType(groupType).groupId(groupId).build())); // return ReturnResult.successed(getFieldDefinedWrapper(user).getFieldDefinedInfo(ExtendFieldSearchParam.builder().groupType(groupType).groupId(groupId).build()));
} catch (Exception e) { return JSON.toJSONString(getFieldDefinedWrapper(user).getFieldDefinedInfo(ExtendFieldSearchParam.builder().groupType(groupType).groupId(groupId).build()));
return ReturnResult.exceptionHandle(e.getMessage()); //} catch (Exception e) {
} // return ReturnResult.exceptionHandle(e.getMessage());
//}
} }
} }

Loading…
Cancel
Save