From e588fb0c96802827f4bb36d8db55a0c6d869f9ab Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 16 Jun 2022 09:37:36 +0800 Subject: [PATCH] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/extend/bo/ExtendInfoBO.java | 43 ++++++++++++++++--- .../extend/param/ExtendInfoFieldParam.java | 29 +++++++++++-- .../extend/param/ExtendInfoTypeParam.java | 26 ----------- .../mapper/extend/ExtendInfoMapper.java | 3 +- .../mapper/extend/ExtendInfoMapper.xml | 3 ++ .../service/impl/FieldDefinedServiceImpl.java | 34 ++++++++++----- .../web/FieldDefinedController.java | 25 ++++++----- 7 files changed, 102 insertions(+), 61 deletions(-) delete mode 100644 src/com/engine/organization/entity/extend/param/ExtendInfoTypeParam.java diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index 73a2f1c8..1f7f18bf 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -14,6 +14,7 @@ import com.api.hrm.util.ServiceUtil; import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit; 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.util.OrganizationFormItemUtil; import com.engine.sensitive.biz.SensitiveWordTypeComInfo; @@ -23,10 +24,7 @@ import weaver.hrm.User; import weaver.hrm.definedfield.HrmFieldManager; import weaver.systeminfo.SystemEnv; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @description: @@ -66,13 +64,46 @@ public class ExtendInfoBO { } - public static ExtendInfoPO convertFieldParam2ExtendInfo(ExtendInfoFieldParam infoFieldParam) { + /** + * 新增自定义字段时,对象转换 + * + * @param user + * @param infoFieldParam + * @param extendGroupPO + * @param extendGroupId + * @param showOrder + * @return + */ + public static ExtendInfoPO convertFieldParam2ExtendInfo(User user, ExtendInfoFieldParam infoFieldParam, ExtendGroupPO extendGroupPO, Long extendGroupId, Integer showOrder) { if (null == infoFieldParam) { return null; } + String controlType = infoFieldParam.getControlType(); + String browserType = infoFieldParam.getBrowserType(controlType); + String dbType = infoFieldParam.getDbType(controlType, browserType); return ExtendInfoPO .builder() - + .id(infoFieldParam.getId()) + .extendType(extendGroupPO.getExtendType()) + .tableName(ExtendGroupBO.getTableNameByGroupPO(extendGroupPO)) + .fieldName(infoFieldParam.getFieldname()) + .fieldNameDesc(infoFieldParam.getFieldlabel()) + // 数据库类型 + .fieldType(dbType) + .controlType(Integer.parseInt(controlType)) + .browserType(browserType) + .extendGroupId(extendGroupId) + .isenable(Integer.parseInt(infoFieldParam.getEnable())) + .isrequired(Integer.parseInt(infoFieldParam.getRequired())) + .listShow(1) + .editShow(1) + .addShow(1) + .browserShow(1) + .customValue(infoFieldParam.getFieldType().toString()) + .showOrder(showOrder) + .creator((long) user.getUID()) + .deleteType(0) + .createTime(new Date()) .build(); } diff --git a/src/com/engine/organization/entity/extend/param/ExtendInfoFieldParam.java b/src/com/engine/organization/entity/extend/param/ExtendInfoFieldParam.java index 783eefe9..7d0f42a3 100644 --- a/src/com/engine/organization/entity/extend/param/ExtendInfoFieldParam.java +++ b/src/com/engine/organization/entity/extend/param/ExtendInfoFieldParam.java @@ -2,6 +2,7 @@ package com.engine.organization.entity.extend.param; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.engine.hrm.biz.FieldParam; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -19,7 +20,7 @@ import weaver.general.Util; @AllArgsConstructor @NoArgsConstructor public class ExtendInfoFieldParam { - private String id; + private Long id; // field_name private String fieldname; // field_name_desc @@ -27,8 +28,6 @@ public class ExtendInfoFieldParam { private Object fieldType; - private ExtendInfoTypeParam infoTypeParam; - private String enable; private String required; @@ -39,7 +38,6 @@ public class ExtendInfoFieldParam { public String getControlType() { JSONArray fieldType = (JSONArray) this.getFieldType(); - ExtendInfoTypeParam infoTypeParam = new ExtendInfoTypeParam(); String fieldHtmlType = Util.null2String(fieldType.get(0)); if (fieldHtmlType.equals("input")) { fieldHtmlType = "1"; @@ -89,4 +87,27 @@ public class ExtendInfoFieldParam { } return browserType; } + + public String getDbType(String controlType, String browserType) { + FieldParam fp = new FieldParam(); + if (controlType.equals("1")) { + JSONArray fieldType = (JSONArray) this.getFieldType(); + String dbLength = "100"; + if (fieldType.size() > 2) { + dbLength = fieldType.get(2).toString(); + } + fp.setSimpleText(Util.getIntValue(browserType, -1), dbLength); + } else if (controlType.equals("2")) { + fp.setText(); + } else if (controlType.equals("3")) { + fp.setBrowser(Util.getIntValue(browserType, -1)); + } else if (controlType.equals("4")) { + fp.setCheck(); + } else if (controlType.equals("5")) { + fp.setSelect(); + } else if (controlType.equals("6")) { + fp.setAttach(); + } + return fp.getFielddbtype(); + } } \ No newline at end of file diff --git a/src/com/engine/organization/entity/extend/param/ExtendInfoTypeParam.java b/src/com/engine/organization/entity/extend/param/ExtendInfoTypeParam.java deleted file mode 100644 index c87de8e2..00000000 --- a/src/com/engine/organization/entity/extend/param/ExtendInfoTypeParam.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.engine.organization.entity.extend.param; - -import com.engine.hrm.entity.FieldSelectOptionBean; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -/** - * @description: TODO - * @author:dxfeng - * @createTime: 2022/06/15 - * @version: 1.0 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ExtendInfoTypeParam { - private String fieldHtmlType; - private String fieldType; - private Object otherParam; - private List lsSelectOption; -} diff --git a/src/com/engine/organization/mapper/extend/ExtendInfoMapper.java b/src/com/engine/organization/mapper/extend/ExtendInfoMapper.java index 16e5d2fe..e298a331 100644 --- a/src/com/engine/organization/mapper/extend/ExtendInfoMapper.java +++ b/src/com/engine/organization/mapper/extend/ExtendInfoMapper.java @@ -1,6 +1,5 @@ package com.engine.organization.mapper.extend; -import com.engine.organization.entity.extend.po.ExtendGroupPO; import com.engine.organization.entity.extend.po.ExtendInfoPO; import org.apache.ibatis.annotations.Param; @@ -18,5 +17,7 @@ public interface ExtendInfoMapper { int countFieldsByGroupId(@Param("groupId") Long groupId); + int updateExtendInfo(ExtendInfoPO extendInfo); + } diff --git a/src/com/engine/organization/mapper/extend/ExtendInfoMapper.xml b/src/com/engine/organization/mapper/extend/ExtendInfoMapper.xml index b9a5d089..3835e399 100644 --- a/src/com/engine/organization/mapper/extend/ExtendInfoMapper.xml +++ b/src/com/engine/organization/mapper/extend/ExtendInfoMapper.xml @@ -53,6 +53,9 @@ , t.create_time , t.update_time + + +