diff --git a/src/com/engine/organization/entity/hrmresource/po/TransferDataPO.java b/src/com/engine/organization/entity/hrmresource/po/TransferDataPO.java
new file mode 100644
index 00000000..c0de5cba
--- /dev/null
+++ b/src/com/engine/organization/entity/hrmresource/po/TransferDataPO.java
@@ -0,0 +1,22 @@
+package com.engine.organization.entity.hrmresource.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2023/01/11
+ * @version: 1.0
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class TransferDataPO {
+ private String id;
+ private String label;
+ private String title;
+ private String idx;
+}
diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java
index aaa7f84e..164252fb 100644
--- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java
+++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java
@@ -48,6 +48,8 @@ public interface HrmResourceMapper {
SearchTemplatePO getSearchTemplateById(@Param("id") String id);
+ SearchTemplatePO getCustomTemplateById(@Param("id") String id);
+
Integer insertSearchTemplate(SearchTemplatePO templatePO);
Integer deleteSearchTemplate(@Param("id") Integer Id, @Param("userId") Integer userId);
diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml
index 793d042a..ff59d0b7 100644
--- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml
+++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml
@@ -129,6 +129,13 @@
where id = #{id}
+
+
diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java
index a794f2b0..dee1bbee 100644
--- a/src/com/engine/organization/service/HrmResourceService.java
+++ b/src/com/engine/organization/service/HrmResourceService.java
@@ -142,4 +142,12 @@ public interface HrmResourceService {
* @param id
*/
void deleteCustomTemplate(Integer id);
+
+ /**
+ * 获取列定制穿梭框数据
+ *
+ * @param params
+ * @return
+ */
+ Map getCustomTransferData(Map params);
}
diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java
index a978e911..0f68bbfc 100644
--- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java
+++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java
@@ -20,6 +20,7 @@ import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam;
import com.engine.organization.entity.hrmresource.param.SearchTemplateParam;
import com.engine.organization.entity.hrmresource.po.HrmRelationPO;
import com.engine.organization.entity.hrmresource.po.SearchTemplatePO;
+import com.engine.organization.entity.hrmresource.po.TransferDataPO;
import com.engine.organization.entity.hrmresource.vo.HrmResourceVO;
import com.engine.organization.entity.jclimport.po.CusFormFieldPO;
import com.engine.organization.entity.job.bo.JobBO;
@@ -52,6 +53,7 @@ import weaver.general.Util;
import weaver.hrm.definedfield.HrmFieldManager;
import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@@ -168,29 +170,19 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
@Override
public String getTemplateSelectKeys(Map params) {
+ // TODO
String templateId = Util.null2String(params.get("templateId"));
String column = Util.null2String(params.get("column"));
OrganizationAssert.isTrue(StringUtils.isNotBlank(templateId), "数据有误,未找到对应数据");
// 判断是否为搜索模板
+ SearchTemplatePO searchTemplateById = null;
if (StringUtils.isBlank(column)) {
- SearchTemplatePO searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId);
- String basicFields = searchTemplateById.getBasicFields();
- String personalFields = searchTemplateById.getPersonalFields();
- String workflowFields = searchTemplateById.getWorkFields();
- List selectKeys = new ArrayList<>();
- if (StringUtils.isNotBlank(basicFields)) {
- selectKeys.addAll(Arrays.asList(basicFields.split(",")));
- }
- if (StringUtils.isNotBlank(personalFields)) {
- selectKeys.addAll(Arrays.asList(personalFields.split(",")));
- }
- if (StringUtils.isNotBlank(workflowFields)) {
- selectKeys.addAll(Arrays.asList(workflowFields.split(",")));
- }
- return StringUtils.join(selectKeys, ",");
+ searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId);
+ } else {
+ searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId);
}
- return "";
-
+ List selectKeys = getSelectKeys(searchTemplateById);
+ return StringUtils.join(selectKeys, ",");
}
@Override
@@ -227,6 +219,38 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
getHrmResourceMapper().deleteCustomTemplate(id, user.getUID());
}
+ @Override
+ public Map getCustomTransferData(Map params) {
+ Map resultMap = new HashMap<>();
+ String templateId = StringUtils.isNotBlank(Util.null2String(params.get("templateId"))) ? Util.null2String(params.get("templateId")) : "-1";
+ List transferDatas = new ArrayList<>();
+ List transferKeys = new ArrayList<>();
+ List transferOptions = new ArrayList<>();
+ List allConditions = getAllConditions();
+ AtomicInteger idx = new AtomicInteger(0);
+ for (SearchConditionGroup allCondition : allConditions) {
+ List items = allCondition.getItems();
+ List collect = items.stream().map(item -> TransferDataPO.builder().id(item.getDomkey()[0]).label(item.getLabel()).title(allCondition.getTitle()).idx(Integer.toString(idx.get())).build()).collect(Collectors.toList());
+ if (CollectionUtils.isNotEmpty(collect)) {
+ transferDatas.addAll(collect);
+ }
+ transferOptions.add(SearchTemplateParam.builder().key(Integer.toString(idx.getAndIncrement())).showname(allCondition.getTitle()).build());
+ }
+ if ("-1".equals(templateId)) {
+ List items = allConditions.get(0).getItems();
+ transferKeys = items.stream().map(item -> item.getDomkey()[0]).collect(Collectors.toList());
+ } else {
+ SearchTemplatePO searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId);
+ transferKeys = getSelectKeys(searchTemplateById);
+ }
+
+ resultMap.put("transferDatas", transferDatas);
+ resultMap.put("transferKeys", transferKeys);
+ resultMap.put("transferOptions", transferOptions);
+
+ return resultMap;
+ }
+
@Override
public Map getSearchCondition(Map params) {
String templateId = Util.null2String(params.get("templateId"));
@@ -879,6 +903,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
return sb.toString();
}
+ /**
+ * 为下拉框搜索条件、添加空选项
+ *
+ * @param searchConditionItem
+ */
private void addEmptyForSelect(SearchConditionItem searchConditionItem) {
searchConditionItem.setValue("");
List options = searchConditionItem.getOptions();
@@ -891,4 +920,27 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
options.add(0, searchConditionOption);
}
+
+ /**
+ * 根据模板示例,组装所有selectKeys
+ *
+ * @param searchTemplatePO
+ * @return
+ */
+ private List getSelectKeys(SearchTemplatePO searchTemplatePO) {
+ List selectKeys = new ArrayList<>();
+ String basicFields = searchTemplatePO.getBasicFields();
+ String personalFields = searchTemplatePO.getPersonalFields();
+ String workflowFields = searchTemplatePO.getWorkFields();
+ if (StringUtils.isNotBlank(basicFields)) {
+ selectKeys.addAll(Arrays.asList(basicFields.split(",")));
+ }
+ if (StringUtils.isNotBlank(personalFields)) {
+ selectKeys.addAll(Arrays.asList(personalFields.split(",")));
+ }
+ if (StringUtils.isNotBlank(workflowFields)) {
+ selectKeys.addAll(Arrays.asList(workflowFields.split(",")));
+ }
+ return selectKeys;
+ }
}
diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java
index 7813c5f0..6f1b49ea 100644
--- a/src/com/engine/organization/web/HrmResourceController.java
+++ b/src/com/engine/organization/web/HrmResourceController.java
@@ -305,4 +305,17 @@ public class HrmResourceController {
return ReturnResult.exceptionHandle(e);
}
}
+
+ @GET
+ @Path("/getCustomTransferData")
+ @Produces(MediaType.APPLICATION_JSON)
+ public ReturnResult getCustomTransferData(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ Map map = ParamUtil.request2Map(request);
+ return ReturnResult.successed(JSON.toJSON(getHrmResourceWrapper(user).getCustomTransferData(map)));
+ } catch (Exception e) {
+ return ReturnResult.exceptionHandle(e);
+ }
+ }
}
diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java
index 8e1e183d..2588586d 100644
--- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java
+++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java
@@ -99,4 +99,8 @@ public class HrmResourceWrapper extends OrganizationWrapper {
public void deleteCustomTemplate(Integer id) {
getHrmResourceService(user).deleteCustomTemplate(id);
}
+
+ public Map getCustomTransferData(Map params) {
+ return getHrmResourceService(user).getCustomTransferData(params);
+ }
}