添加自定义字段接口

pull/90/MERGE^2
dxfeng 3 years ago
parent 57b29a2312
commit 52c964f199

@ -2,70 +2,70 @@
insert into SystemRights (id,rightdesc,righttype) values (-20220601,'等级方案权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220601,7,'等级方案权限','等级方案权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220601,8,'Scheme Right','Scheme Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220601,'等级方案权限','Scheme:All:',-20220601) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220601,'等级方案权限','Scheme:All',-20220601) ;
-- 职等
insert into SystemRights (id,rightdesc,righttype) values (-20220602,'职等权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220602,7,'职等权限','职等权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220602,8,'Level Right','Level Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220602,'职等权限','Level:All:',-20220602) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220602,'职等权限','Level:All',-20220602) ;
-- 职级
insert into SystemRights (id,rightdesc,righttype) values (-20220603,'职级权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220603,7,'职级权限','职级权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220603,8,'Grade Right','Grade Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220603,'职级权限','Grade:All:',-20220603) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220603,'职级权限','Grade:All',-20220603) ;
-- 岗位序列
insert into SystemRights (id,rightdesc,righttype) values (-20220604,'岗位序列权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220604,7,'岗位序列权限','岗位序列权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220604,8,'Sequence Right','Sequence Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220604,'岗位序列权限','Sequence:All:',-20220604) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220604,'岗位序列权限','Sequence:All',-20220604) ;
-- 职务分类
insert into SystemRights (id,rightdesc,righttype) values (-20220605,'职务分类权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220605,7,'职务分类权限','职务分类权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220605,8,'Post Right','Post Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220605,'职务分类权限','Post:All:',-20220605) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220605,'职务分类权限','Post:All',-20220605) ;
-- 职务信息
insert into SystemRights (id,rightdesc,righttype) values (-20220606,'职务信息权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220606,7,'职务信息权限','职务信息权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220606,8,'PostInfo Right','PostInfo Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220606,'职务信息权限','PostInfo:All:',-20220606) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220606,'职务信息权限','PostInfo:All',-20220606) ;
-- 集团管理
insert into SystemRights (id,rightdesc,righttype) values (-20220607,'集团管理权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220607,7,'集团管理权限','集团管理权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220607,8,'Group Right','Group Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220607,'集团管理权限','Group:All:',-20220607) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220607,'集团管理权限','Group:All',-20220607) ;
-- 公司/分部管理
insert into SystemRights (id,rightdesc,righttype) values (-20220608,'公司/分部管理权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220608,7,'公司/分部管理权限','公司/分部管理权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220608,8,'Company Right','Company Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220608,'公司/分部管理权限','Company:All:',-20220608) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220608,'公司/分部管理权限','Company:All',-20220608) ;
-- 部门管理
insert into SystemRights (id,rightdesc,righttype) values (-20220609,'部门管理权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220609,7,'部门管理权限','部门管理权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220609,8,'Department Right','Department Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220609,'部门管理权限','Department:All:',-20220609) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220609,'部门管理权限','Department:All',-20220609) ;
-- 岗位管理
insert into SystemRights (id,rightdesc,righttype) values (-20220610,'岗位管理权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220610,7,'岗位管理权限','岗位管理权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220610,8,'Job Right','Job Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220610,'岗位管理权限','Job:All:',-20220610) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220610,'岗位管理权限','Job:All',-20220610) ;
-- 编制方案
insert into SystemRights (id,rightdesc,righttype) values (-20220611,'编制方案权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220611,7,'编制方案权限','编制方案权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220611,8,'StaffPlan Right','StaffPlan Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220611,'编制方案权限','StaffPlan:All:',-20220611) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220611,'编制方案权限','StaffPlan:All',-20220611) ;
-- 编制表
insert into SystemRights (id,rightdesc,righttype) values (-20220612,'编制表权限','0');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220612,7,'编制表权限','编制表权限');
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-20220612,8,'Staff Right','Staff Right');
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220612,'编制表权限','Staff:All:',-20220612) ;
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-20220612,'编制表权限','Staff:All',-20220612) ;

@ -38,4 +38,23 @@ public class SelectOptionParam {
}
return selectOptions;
}
/**
*
*
* @param customValue
* @return
*/
public static String getCustomBrowserId(String customValue) {
try {
JSONArray objects = JSONObject.parseArray(customValue);
if (null != objects && objects.size() > 2) {
JSONObject object = (JSONObject) objects.get(2);
return object.getString("value");
}
} catch (Exception e) {
}
return customValue;
}
}

@ -60,13 +60,13 @@ public class ExtendGroupBO {
public static String getTableNameByGroupPO(ExtendGroupPO extendGroupPO) {
String tableName = "";
switch (extendGroupPO.getExtendType()) {
case -1:
case 1:
tableName = "JCL_ORG_COMP";
break;
case -2:
case 2:
tableName = "JCL_ORG_DEPT";
break;
case -3:
case 3:
tableName = "JCL_ORG_JOB";
break;
default:

@ -18,6 +18,7 @@ import com.engine.organization.entity.extend.po.ExtendGroupPO;
import com.engine.organization.entity.extend.po.ExtendInfoPO;
import com.engine.organization.util.OrganizationFormItemUtil;
import com.engine.sensitive.biz.SensitiveWordTypeComInfo;
import org.apache.commons.lang.StringUtils;
import weaver.file.ImageFileManager;
import weaver.general.Util;
import weaver.hrm.User;
@ -81,6 +82,9 @@ public class ExtendInfoBO {
String controlType = infoFieldParam.getControlType();
String browserType = infoFieldParam.getBrowserType(controlType);
String dbType = infoFieldParam.getDbType(controlType, browserType);
if (StringUtils.isEmpty(dbType)) {
dbType = infoFieldParam.getDbType("2", "");
}
return ExtendInfoPO
.builder()
.id(infoFieldParam.getId())
@ -93,10 +97,10 @@ public class ExtendInfoBO {
.controlType(Integer.parseInt(controlType))
.browserType(browserType)
.extendGroupId(extendGroupId)
.isenable(Integer.parseInt(infoFieldParam.getEnable()))
.isrequired(Integer.parseInt(infoFieldParam.getRequired()))
.isenable(null == infoFieldParam.getEnable() ? null : Integer.parseInt(infoFieldParam.getEnable()))
.isrequired(null == infoFieldParam.getRequired() ? null : Integer.parseInt(infoFieldParam.getRequired()))
.listShow(1)
.editShow(1)
.editShow(null == infoFieldParam.getIsModify() ? null : Integer.parseInt(infoFieldParam.getIsModify()))
.addShow(1)
.browserShow(1)
.customValue(infoFieldParam.getFieldType().toString())
@ -157,7 +161,8 @@ public class ExtendInfoBO {
// 浏览按钮特殊处理
if (FieldType.BROWSER.equals(fieldItem.getType())) {
BrowserBean browserConditionParam = OrganizationFormItemUtil.browserItem(user, 2, 16, fieldItem.getViewAttr(), false, extendInfoPO.getFieldNameDesc(), extendInfoPO.getBrowserType(), extendInfoPO.getFieldName(), extendInfoPO.getCustomValue()).getBrowserConditionParam();
String browserId = SelectOptionParam.getCustomBrowserId(extendInfoPO.getCustomValue());
BrowserBean browserConditionParam = OrganizationFormItemUtil.browserItem(user, 2, 16, fieldItem.getViewAttr(), false, extendInfoPO.getFieldNameDesc(), extendInfoPO.getBrowserType(), extendInfoPO.getFieldName(), browserId).getBrowserConditionParam();
fieldItem.setBrowserConditionParam(browserConditionParam);
}
@ -224,6 +229,7 @@ public class ExtendInfoBO {
} else if (fieldhtmltype.equals("2")) {//多行文本框
searchConditionItem = conditionFactory.createCondition(ConditionType.TEXTAREA, fieldlabel, fieldname);
} else if (fieldhtmltype.equals("3")) {//浏览按钮
customValue = SelectOptionParam.getCustomBrowserId(customValue);
if (detailtype.equals("2")) {
if (!extendInfoPO.getTableName().toLowerCase().contains("_dt")) {
searchConditionItem = conditionFactory.createCondition(ConditionType.DATEPICKER, fieldlabel, fieldname);

@ -13,11 +13,18 @@ import java.util.List;
*/
public interface ExtendInfoMapper {
List<ExtendInfoPO> listFields(@Param("extendType") String extendType, @Param("extendGroupId") String extendGroupId, @Param("tableName") String tableName,@Param("operateType")String operateType);
List<ExtendInfoPO> listFields(@Param("extendType") String extendType, @Param("extendGroupId") String extendGroupId, @Param("tableName") String tableName, @Param("operateType") String operateType);
int countFieldsByGroupId(@Param("groupId") Long groupId);
int updateExtendInfo(ExtendInfoPO extendInfo);
int insertExtendInfo(ExtendInfoPO extendInfo);
// 添加表结构
void addTableColumn(@Param("tableName") String tableName, @Param("fieldName") String fieldName, @Param("dbType") String dbType);
Long getMaxId();
}

@ -53,8 +53,156 @@
, t.create_time
, t.update_time
</sql>
<update id="updateExtendInfo">
<insert id="insertExtendInfo" parameterType="com.engine.organization.entity.extend.po.ExtendInfoPO"
keyProperty="id"
keyColumn="id" useGeneratedKeys="true">
INSERT INTO jcl_field_extendinfo
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="creator != null">
creator,
</if>
<if test="deleteType != null">
delete_type,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="extendType != null ">
extend_type,
</if>
<if test="tableName != null ">
table_name,
</if>
<if test="fieldName != null ">
field_name,
</if>
<if test="fieldNameDesc != null ">
field_name_desc,
</if>
<if test="fieldType != null ">
field_type,
</if>
<if test="controlType != null ">
control_type,
</if>
<if test="browserType != null ">
browser_type,
</if>
<if test="extendGroupId != null ">
extend_group_id,
</if>
<if test="isenable != null ">
isenable,
</if>
<if test="isrequired != null ">
isrequired,
</if>
<if test="listShow != null ">
list_show,
</if>
<if test="searchShow != null ">
search_show,
</if>
<if test="editShow != null ">
edit_show,
</if>
<if test="addShow != null ">
add_show,
</if>
<if test="browserShow != null ">
browser_show,
</if>
<if test="customValue != null ">
custom_value,
</if>
<if test="showOrder != null ">
show_order,
</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="creator != null">
#{creator},
</if>
<if test="deleteType != null">
#{deleteType},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="extendType != null ">
#{extendType},
</if>
<if test="tableName != null ">
#{tableName},
</if>
<if test="fieldName != null ">
#{fieldName},
</if>
<if test="fieldNameDesc != null ">
#{fieldNameDesc},
</if>
<if test="fieldType != null ">
#{fieldType},
</if>
<if test="controlType != null ">
#{controlType},
</if>
<if test="browserType != null ">
#{browserType},
</if>
<if test="extendGroupId != null ">
#{extendGroupId},
</if>
<if test="isenable != null ">
#{isenable},
</if>
<if test="isrequired != null ">
#{isrequired},
</if>
<if test="listShow != null ">
#{listShow},
</if>
<if test="searchShow != null ">
#{searchShow},
</if>
<if test="editShow != null ">
#{editShow},
</if>
<if test="addShow != null ">
#{addShow},
</if>
<if test="browserShow != null ">
#{browserShow},
</if>
<if test="customValue != null ">
#{customValue},
</if>
<if test="showOrder != null ">
#{showOrder},
</if>
</trim>
</insert>
<update id="addTableColumn">
ALTER TABLE ${tableName}
ADD ${fieldName} ${dbType} NULL;
</update>
<update id="updateExtendInfo" parameterType="com.engine.organization.entity.extend.po.ExtendInfoPO">
update jcl_field_extendinfo
<set>
update_time=#{updateTime},
field_name_desc=#{fieldNameDesc},
isenable=#{isenable},
isrequired=#{isrequired},
edit_show=#{editShow},
show_order=#{showOrder},
</set>
WHERE id = #{id} AND delete_type = 0
</update>
@ -84,6 +232,11 @@
where t.delete_type = 0
and extend_group_id = #{groupId}
</select>
<select id="getMaxId" resultType="java.lang.Long">
select max(id)
from jcl_field_extendinfo
order by id desc
</select>
</mapper>

@ -92,23 +92,32 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
Long extendGroupId = jsonObject.getLong("groupId");
JSONArray records = (JSONArray) jsonObject.get("records");
int updateCount = 0;
for (int i = 0; i < records.size(); i++) {
// 存在ID则更新 不存在ID则增加
ExtendInfoFieldParam infoFieldParam = JSONObject.toJavaObject((JSONObject) records.get(i), ExtendInfoFieldParam.class);
// TODO
ExtendInfoPO extendInfo = ExtendInfoBO.convertFieldParam2ExtendInfo(user, infoFieldParam, extendGroup, extendGroupId, i + 1);
if (null != extendInfo.getId()) {
// 更新 extend_title数据
getExtendInfoMapper().updateExtendInfo(extendInfo);
updateCount += getExtendInfoMapper().updateExtendInfo(extendInfo);
} else {
// 新增extend_title数据
// 获取操作表最大id,生成字段名
Long maxId = getExtendInfoMapper().getMaxId();
extendInfo.setFieldName("field" + (maxId + 1));
updateCount += getExtendInfoMapper().insertExtendInfo(extendInfo);
// 新增表结构
getExtendInfoMapper().addTableColumn(extendInfo.getTableName(), extendInfo.getFieldName(), extendInfo.getFieldType());
// 明细表且为浏览按钮字段添加span字段
if (null != extendGroup.getPid() && 3 == extendInfo.getControlType()) {
String dbType = infoFieldParam.getDbType("2", "");
getExtendInfoMapper().addTableColumn(extendInfo.getTableName(), extendInfo.getFieldName() + "span", dbType);
}
}
}
return 0;
return updateCount;
}
@Override

@ -298,8 +298,8 @@ public class JobServiceImpl extends Service implements JobService {
tableMap.put("tabname", "职等职级");
Map<String, Object> tabinfoMap = new HashMap<>();
List<ExtendInfoPO> infoPOList = new ArrayList<>();
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").customValue("levelBrowser").build());
infoPOList.add(ExtendInfoPO.builder().fieldName("gradeId").fieldNameDesc("职级").controlType(3).isrequired(1).browserType("161").customValue("[\"browser\",{\"value\":\"161\",\"valueSpan\":\"自定义单选\",\"replaceDatas\":[{\"id\":\"161\",\"name\":\"自定义单选\"}]},{\"value\":\"gradeBrowser\",\"valueSpan\":\"职级浏览按钮\",\"replaceDatas\":[{\"showname\":\"gradeBrowser\",\"shownamespan\":\"gradeBrowser\",\"namespan\":\"职级浏览按钮\",\"name\":\"职级浏览按钮\",\"showtypespan\":\"列表式\",\"randomFieldIdspan\":\"\",\"showtype\":\"1\",\"randomFieldId\":\"gradeBrowser\",\"id\":\"gradeBrowser\"}]}]").build());
infoPOList.add(ExtendInfoPO.builder().fieldName("levelId").fieldNameDesc("职等").controlType(3).isrequired(1).browserType("162").customValue("[\"browser\",{\"value\":\"162\",\"valueSpan\":\"自定义多选\",\"replaceDatas\":[{\"id\":\"162\",\"name\":\"自定义多选\"}]},{\"value\":\"LevelBrowser\",\"valueSpan\":\"职等浏览按钮\",\"replaceDatas\":[{\"showname\":\"LevelBrowser\",\"shownamespan\":\"LevelBrowser\",\"namespan\":\"职等浏览按钮\",\"name\":\"职等浏览按钮\",\"showtypespan\":\"列表式\",\"randomFieldIdspan\":\"\",\"showtype\":\"1\",\"randomFieldId\":\"LevelBrowser\",\"id\":\"LevelBrowser\"}]}]").build());
tabinfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, viewAttr, false));
tabinfoMap.put("rownum", "rownum");
// 去除null 元素

@ -130,7 +130,19 @@ public class FieldDefinedController {
public ReturnResult deleteTitle(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum, @QueryParam("id") Long id) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(getFieldDefinedWrapper(user).deleteTitle(id));
return ReturnResult.successed(getFieldDefinedWrapper(user).deleteTitle(id));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage());
}
}
@POST
@Path("/{moduleTypeEnum}/saveFields")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult saveFields(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum, @RequestBody ExtendTitleSaveParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(getFieldDefinedWrapper(user).saveFields(param.getData()));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e.getMessage());
}

@ -34,6 +34,7 @@ public class FieldDefinedWrapper extends Service {
/**
*
*
* @param groupType
* @return
*/
@ -53,6 +54,7 @@ public class FieldDefinedWrapper extends Service {
/**
*
*
* @param param
* @return
*/
@ -62,13 +64,15 @@ public class FieldDefinedWrapper extends Service {
public ReturnResult changeTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) {
getFieldDefinedService(user).changeTree(moduleTypeEnum,fieldTypeTreeParam);
getFieldDefinedService(user).changeTree(moduleTypeEnum, fieldTypeTreeParam);
return ReturnResult.successed();
}
public int deleteTitle(Long id) {
return getFieldDefinedService(user).deleteTitle(id);
}
public int saveFields(String data) {
return getFieldDefinedService(user).saveFields(data);
}
}

Loading…
Cancel
Save