From 231addfda1522068fa002c3efcdf95ac814472d1 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Sun, 9 Oct 2022 11:42:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E4=BA=8B=E5=8D=A1=E7=89=87=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/PersonnelCardController.java | 12 + .../entity/SelectOptionParam.java | 23 ++ .../entity/personnelcard/Anchor.java | 22 ++ .../entity/personnelcard/FormItem.java | 23 ++ .../entity/personnelcard/Iframe.java | 21 ++ .../entity/personnelcard/Item.java | 20 ++ .../entity/personnelcard/ResourceBaseTab.java | 30 ++ .../entity/personnelcard/Statistical.java | 23 ++ .../entity/personnelcard/User.java | 42 +++ .../personnelcard/PersonnelCardMapper.java | 28 ++ .../personnelcard/PersonnelCardMapper.xml | 48 +++ .../service/HrmPersonnelCardService.java | 28 ++ .../service/impl/FieldDefinedServiceImpl.java | 4 + .../impl/HrmPersonnelCardServiceImpl.java | 182 ++++++++++ .../util/field/FieldDefinedValueUtil.java | 314 ++++++++++++++++++ .../web/PersonnelCardController.java | 56 ++++ .../wrapper/PersonnelCardWrapper.java | 31 ++ 17 files changed, 907 insertions(+) create mode 100644 src/com/api/organization/web/PersonnelCardController.java create mode 100644 src/com/engine/organization/entity/personnelcard/Anchor.java create mode 100644 src/com/engine/organization/entity/personnelcard/FormItem.java create mode 100644 src/com/engine/organization/entity/personnelcard/Iframe.java create mode 100644 src/com/engine/organization/entity/personnelcard/Item.java create mode 100644 src/com/engine/organization/entity/personnelcard/ResourceBaseTab.java create mode 100644 src/com/engine/organization/entity/personnelcard/Statistical.java create mode 100644 src/com/engine/organization/entity/personnelcard/User.java create mode 100644 src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.java create mode 100644 src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml create mode 100644 src/com/engine/organization/service/HrmPersonnelCardService.java create mode 100644 src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java create mode 100644 src/com/engine/organization/util/field/FieldDefinedValueUtil.java create mode 100644 src/com/engine/organization/web/PersonnelCardController.java create mode 100644 src/com/engine/organization/wrapper/PersonnelCardWrapper.java diff --git a/src/com/api/organization/web/PersonnelCardController.java b/src/com/api/organization/web/PersonnelCardController.java new file mode 100644 index 00000000..cde89535 --- /dev/null +++ b/src/com/api/organization/web/PersonnelCardController.java @@ -0,0 +1,12 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @author:dxfeng + * @createTime: 2022/10/09 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/personnelcard") +public class PersonnelCardController extends com.engine.organization.web.PersonnelCardController { +} diff --git a/src/com/engine/organization/entity/SelectOptionParam.java b/src/com/engine/organization/entity/SelectOptionParam.java index 94f75911..c89470c0 100644 --- a/src/com/engine/organization/entity/SelectOptionParam.java +++ b/src/com/engine/organization/entity/SelectOptionParam.java @@ -112,5 +112,28 @@ public class SelectOptionParam { return selectFields; } + /** + * 根据ID获取下拉框的展示文本 + * @param customValue + * @param id + * @return + */ + public static String getSelectOption(String customValue,String id) { + JSONArray objects = JSONObject.parseArray(customValue); + JSONObject o = (JSONObject) objects.get(2); + JSONArray datas = o.getJSONArray("datas"); + List selectFields = new ArrayList<>(); + if (!datas.isEmpty()) { + for (int i = 0; i < datas.size(); i++) { + selectFields.add((JSONObject) datas.get(i)); + } + } + JSONObject filter = selectFields.stream().filter(item -> id.equals(item.getString("id"))).findFirst().orElse(null); + if (null == filter) { + return ""; + } + return filter.getString("option"); + } + } diff --git a/src/com/engine/organization/entity/personnelcard/Anchor.java b/src/com/engine/organization/entity/personnelcard/Anchor.java new file mode 100644 index 00000000..1b8f8145 --- /dev/null +++ b/src/com/engine/organization/entity/personnelcard/Anchor.java @@ -0,0 +1,22 @@ +package com.engine.organization.entity.personnelcard; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 锚点实体类 + * + * @author:dxfeng + * @createTime: 2022/10/08 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class Anchor { + private String id; + private String title; +} diff --git a/src/com/engine/organization/entity/personnelcard/FormItem.java b/src/com/engine/organization/entity/personnelcard/FormItem.java new file mode 100644 index 00000000..4d7e1867 --- /dev/null +++ b/src/com/engine/organization/entity/personnelcard/FormItem.java @@ -0,0 +1,23 @@ +package com.engine.organization.entity.personnelcard; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author:dxfeng + * @createTime: 2022/10/08 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class FormItem { + private String id; + private String title; + private List items; +} diff --git a/src/com/engine/organization/entity/personnelcard/Iframe.java b/src/com/engine/organization/entity/personnelcard/Iframe.java new file mode 100644 index 00000000..31c96e25 --- /dev/null +++ b/src/com/engine/organization/entity/personnelcard/Iframe.java @@ -0,0 +1,21 @@ +package com.engine.organization.entity.personnelcard; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/10/08 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class Iframe { + private String id; + private String title; + private String url; +} diff --git a/src/com/engine/organization/entity/personnelcard/Item.java b/src/com/engine/organization/entity/personnelcard/Item.java new file mode 100644 index 00000000..fad39bde --- /dev/null +++ b/src/com/engine/organization/entity/personnelcard/Item.java @@ -0,0 +1,20 @@ +package com.engine.organization.entity.personnelcard; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/10/08 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class Item { + private String fieldId; + private Object fieldValue; +} diff --git a/src/com/engine/organization/entity/personnelcard/ResourceBaseTab.java b/src/com/engine/organization/entity/personnelcard/ResourceBaseTab.java new file mode 100644 index 00000000..c2132001 --- /dev/null +++ b/src/com/engine/organization/entity/personnelcard/ResourceBaseTab.java @@ -0,0 +1,30 @@ +package com.engine.organization.entity.personnelcard; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 人员自定义显示栏目实体类 + * + * @author:dxfeng + * @createTime: 2022/10/09 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ResourceBaseTab { + private Integer id; + private String groupName; + private Integer groupLabel; + private Integer dspOrder; + private String isOpen; + private String isMand; + private String isUsed; + private String isSystem; + private String linkUrl; + private String tabNum; +} diff --git a/src/com/engine/organization/entity/personnelcard/Statistical.java b/src/com/engine/organization/entity/personnelcard/Statistical.java new file mode 100644 index 00000000..4c50d1fd --- /dev/null +++ b/src/com/engine/organization/entity/personnelcard/Statistical.java @@ -0,0 +1,23 @@ +package com.engine.organization.entity.personnelcard; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/10/08 + * @version: 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class Statistical { + private Integer workflowCount; + private Integer docCount; + private Integer cusCount; + private Integer collaborationCount; + private Integer weiboCount; +} diff --git a/src/com/engine/organization/entity/personnelcard/User.java b/src/com/engine/organization/entity/personnelcard/User.java new file mode 100644 index 00000000..6d67537e --- /dev/null +++ b/src/com/engine/organization/entity/personnelcard/User.java @@ -0,0 +1,42 @@ +package com.engine.organization.entity.personnelcard; + +import com.api.system.language.service.LanguageService; +import com.engine.organization.entity.extend.po.ExtendInfoPO; +import com.engine.organization.util.field.FieldDefinedValueUtil; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/10/08 + * @version: 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class User { + private Integer id; + private String image; + private String name; + private String sex; + private String email; + private String phone; + private String belongTo; + private String status; + + public String getSex() { + if ("0".equals(sex)) { + return "男"; + } + return "女"; + } + + public String getImage() { + weaver.hrm.User user = new weaver.hrm.User(); + user.setLanguage(LanguageService.getDefaultLang()); + return FieldDefinedValueUtil.getFieldValue(user, ExtendInfoPO.builder().controlType(6).browserType("1").build(), image); + } +} diff --git a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.java b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.java new file mode 100644 index 00000000..8671c926 --- /dev/null +++ b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.java @@ -0,0 +1,28 @@ +package com.engine.organization.mapper.personnelcard; + +import com.engine.organization.entity.personnelcard.ResourceBaseTab; +import com.engine.organization.entity.personnelcard.User; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author:dxfeng + * @createTime: 2022/10/08 + * @version: 1.0 + */ +public interface PersonnelCardMapper { + /** + * 获取人员卡片User对象 + * + * @param id + * @return + */ + User getUserById(@Param("id") Long id); + + /** + * 获取自定义显示栏目 + * @return + */ + List getResourceBaseTabList(); +} diff --git a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml new file mode 100644 index 00000000..8171ec2c --- /dev/null +++ b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/HrmPersonnelCardService.java b/src/com/engine/organization/service/HrmPersonnelCardService.java new file mode 100644 index 00000000..f12888b1 --- /dev/null +++ b/src/com/engine/organization/service/HrmPersonnelCardService.java @@ -0,0 +1,28 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.personnelcard.Iframe; + +import java.util.List; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2022/10/08 + * @version: 1.0 + */ +public interface HrmPersonnelCardService { + /** + * 获取人事卡片信息 + * + * @param uId + * @return + */ + Map getPersonnelCard(Long uId); + + /** + * 获取人事自定义显示栏目 + * + * @return + */ + List