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