diff --git a/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java b/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java new file mode 100644 index 00000000..03ccf830 --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java @@ -0,0 +1,67 @@ +package com.engine.organization.entity.hrmresource.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + +/** + * + * @TableName jcl_org_custom_template + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class JclOrgCustomTemplatePO implements Serializable { + /** + * + */ + private Integer id; + + /** + * + */ + private String name; + + /** + * + */ + private String basicFields; + + /** + * + */ + private String personalFields; + + /** + * + */ + private String workFields; + + /** + * + */ + private Integer isused; + + /** + * + */ + private Integer creator; + + /** + * + */ + private Date createTime; + + /** + * + */ + private Date updateTime; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceJclVO.java b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceJclVO.java new file mode 100644 index 00000000..916ee84b --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceJclVO.java @@ -0,0 +1,47 @@ +package com.engine.organization.entity.hrmresource.vo; + +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableColumn; +import com.engine.organization.annotation.OrganizationTableOperate; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:ml + * @createTime: 2023/01/06 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "c0583f20-f10c-11ec-9947-00e04c680716", + fields = "t.id," + + "t.lastname," + + "t.departmentid," + + "t.subcompanyid1," + + "t.jobtitle," + + "t.mobile," + + "t.telephone," + + "t.managerid, " + + "t.dsporder ", + fromSql = "FROM hrmresource t ", + orderby = " dsporder ", + sortway = " asc", + primarykey = "id", + operates = { + @OrganizationTableOperate(text = "查看"), + @OrganizationTableOperate(index = "1", text = "另存为版本") + }, + tableType = WeaTableType.CHECKBOX +) +public class HrmResourceJclVO { + /** + * 主键 + */ + @OrganizationTableColumn(column = "id", display = false) + private Long id; +} diff --git a/src/com/engine/organization/entity/hrmresource/vo/JclOrgCustomTemplateVO.java b/src/com/engine/organization/entity/hrmresource/vo/JclOrgCustomTemplateVO.java new file mode 100644 index 00000000..f5bbbd1c --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/vo/JclOrgCustomTemplateVO.java @@ -0,0 +1,67 @@ +package com.engine.organization.entity.hrmresource.vo; + +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableColumn; +import com.engine.organization.annotation.OrganizationTableOperate; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "8df45b09-0cda-4f57-a93a-ca9f96a4c111", + fields = "t.id," + + "t.name," + + "t.basic_fields," + + "t.personal_fields," + + "t.work_fields," + + "t.isused," + + "t.creator," + + "t.create_time," + + "t.update_time", + fromSql = "FROM jcl_org_custom_template t ", + orderby = "id", + sortway = "asc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "另存为"), + @OrganizationTableOperate(index = "2", text = "删除") + }, + tableType = WeaTableType.CHECKBOX +) +public class JclOrgCustomTemplateVO { + + @OrganizationTableColumn(column = "id", display = false) + private Integer id; + + @OrganizationTableColumn(text = "模板名称", width = "30%", column = "name") + private String name; + + @OrganizationTableColumn(column = "basic_fields", display = false) + private String basicFields; + + @OrganizationTableColumn(column = "personal_fields", display = false) + private String personalFields; + + @OrganizationTableColumn(column = "work_fields", display = false) + private String workFields; + + @OrganizationTableColumn(column = "isused", display = false) + private Integer isUsed; + + @OrganizationTableColumn(column = "creator", display = false) + private Integer creator; + + @OrganizationTableColumn(text = "创建时间",column = "create_time", width = "30%") + private Date createTime; + + @OrganizationTableColumn(text = "更新时间",column = "update_time", display = false) + private Date updateTime; +} diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index d0f3f33d..d30faa75 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -1,5 +1,6 @@ package com.engine.organization.mapper.resource; +import com.alibaba.fastjson.JSONObject; import com.engine.organization.entity.hrmresource.po.ResourcePO; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; @@ -65,4 +66,8 @@ public interface HrmResourceMapper { Integer insertCustomTemplate(SearchTemplatePO templatePO); Integer deleteCustomTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); + + List queryAllResColumns(@Param("level") String level,@Param("grade") String grade); + + } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 47b2b266..e478265e 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -385,5 +385,38 @@ + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java new file mode 100644 index 00000000..09e48c14 --- /dev/null +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java @@ -0,0 +1,29 @@ +package com.engine.organization.mapper.resource; + +import com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplatePO; + +import java.util.List; + +/** +* @author Mlin +* @description 针对表【jcl_org_custom_template】的数据库操作Mapper +* @createDate 2023-01-12 10:28:52 +* @Entity com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplate +*/ +public interface JclOrgCustomTemplateMapper { + + int deleteByPrimaryKey(Long id); + + int insert(JclOrgCustomTemplatePO record); + + int insertSelective(JclOrgCustomTemplatePO record); + + JclOrgCustomTemplatePO selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(JclOrgCustomTemplatePO record); + + int updateByPrimaryKey(JclOrgCustomTemplatePO record); + + List listAll(); + +} diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml new file mode 100644 index 00000000..01b27d41 --- /dev/null +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + id,name,basic_fields, + personal_fields,work_fields,isused, + creator,create_time,update_time + + + + + + + delete from jcl_org_custom_template + where id = #{id,jdbcType=INTEGER} + + + insert into jcl_org_custom_template + ( id,name,basic_fields + ,personal_fields,work_fields,isused + ,creator,create_time,update_time + ) + values (#{id,jdbcType=INTEGER},#{name,jdbcType=VARCHAR},#{basicFields,jdbcType=VARCHAR} + ,#{personalFields,jdbcType=VARCHAR},#{workFields,jdbcType=VARCHAR},#{isused,jdbcType=INTEGER} + ,#{creator,jdbcType=INTEGER},#{createTime,jdbcType=DATE},#{updateTime,jdbcType=DATE} + ) + + + insert into jcl_org_custom_template + + id, + name, + basic_fields, + personal_fields, + work_fields, + isused, + creator, + create_time, + update_time, + + + #{id,jdbcType=INTEGER}, + #{name,jdbcType=VARCHAR}, + #{basicFields,jdbcType=VARCHAR}, + #{personalFields,jdbcType=VARCHAR}, + #{workFields,jdbcType=VARCHAR}, + #{isused,jdbcType=INTEGER}, + #{creator,jdbcType=INTEGER}, + #{createTime,jdbcType=DATE}, + #{updateTime,jdbcType=DATE}, + + + + update jcl_org_custom_template + + + name = #{name,jdbcType=VARCHAR}, + + + basic_fields = #{basicFields,jdbcType=VARCHAR}, + + + personal_fields = #{personalFields,jdbcType=VARCHAR}, + + + work_fields = #{workFields,jdbcType=VARCHAR}, + + + isused = #{isused,jdbcType=INTEGER}, + + + creator = #{creator,jdbcType=INTEGER}, + + + create_time = #{createTime,jdbcType=DATE}, + + + update_time = #{updateTime,jdbcType=DATE}, + + + where id = #{id,jdbcType=INTEGER} + + + update jcl_org_custom_template + set + name = #{name,jdbcType=VARCHAR}, + basic_fields = #{basicFields,jdbcType=VARCHAR}, + personal_fields = #{personalFields,jdbcType=VARCHAR}, + work_fields = #{workFields,jdbcType=VARCHAR}, + isused = #{isused,jdbcType=INTEGER}, + creator = #{creator,jdbcType=INTEGER}, + create_time = #{createTime,jdbcType=DATE}, + update_time = #{updateTime,jdbcType=DATE} + where id = #{id,jdbcType=INTEGER} + + diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index dee1bbee..b337219f 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -143,6 +143,14 @@ public interface HrmResourceService { */ void deleteCustomTemplate(Integer id); + + /** + * 展示所有模板 + * @param params + * @return + */ + Map getCustomTemplate(Map params); + /** * 获取列定制穿梭框数据 * diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 7f0949e7..b76444f6 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -6,6 +6,7 @@ import com.api.browser.bean.SearchConditionOption; import com.api.browser.util.ConditionType; import com.api.hrm.bean.HrmFieldBean; import com.api.hrm.util.HrmFieldSearchConditionComInfo; +import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.hrm.util.face.HrmFaceCheckManager; @@ -15,10 +16,13 @@ import com.engine.organization.entity.company.bo.CompBO; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; +import com.engine.organization.entity.extend.bo.ExtendInfoBO; +import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; 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.JclOrgCustomTemplatePO; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; import com.engine.organization.entity.hrmresource.po.TransferDataPO; import com.engine.organization.entity.hrmresource.vo.HrmResourceVO; @@ -34,6 +38,7 @@ import com.engine.organization.mapper.hrmresource.HrmRelationMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.resource.HrmResourceMapper; +import com.engine.organization.mapper.resource.JclOrgCustomTemplateMapper; import com.engine.organization.service.HrmResourceService; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.MenuBtn; @@ -76,6 +81,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private static final String RIGHT_NAME = "Roster:All"; + private static final String level = getFieldName("职等"); + private static final String grade = getFieldName("职级"); + private HrmRelationMapper getHrmRelationMapper() { return MapperProxyFactory.getProxy(HrmRelationMapper.class); } @@ -120,6 +128,22 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic OrganizationWeaTable table = new OrganizationWeaTable<>(user, HrmResourceVO.class); String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); + + List weaTableColumnList = new ArrayList<>(); + WeaTableColumn weaTableColumn = new WeaTableColumn(); + + + List jsonObjectList = getHrmResourceMapper().queryAllResColumns(level,grade); +// for (com.alibaba.fastjson.JSONObject jsonObject : jsonObjectList){ +// System.out.println(jsonObject.getString("level_name")); +// weaTableColumn.setText("职等"); +// weaTableColumn.setDisplay(WeaBoolAttr.TRUE); +// weaTableColumn.setColumn("levelName"); +// weaTableColumnList.add(weaTableColumn); +// } +// table.setColumns(weaTableColumnList); + +// weaTableColumnList = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); @@ -411,6 +435,48 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return hrmRelationPO.getId(); } + @Override + public Map getCustomTemplate(Map params) { + List infoPOList = new ArrayList<>(); + infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("name").fieldNameDesc("模板名称").fieldType("varchar(255)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isrequired(0).isSystemDefault(0).build()); + infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("createTime").fieldNameDesc("创建时间").fieldType("date").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(2).isrequired(0).isSystemDefault(0).build()); + Map tabInfoMap = new HashMap<>(); + tabInfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, 2, false, true)); + List jclOrgCustomTemplatePOS = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).listAll(); + List isUsed = new ArrayList<>(); + AtomicInteger index = new AtomicInteger(0); + List> collect = jclOrgCustomTemplatePOS.stream().map(item -> { + Map resultMap = new HashMap<>(); + resultMap.put("id", item.getId()); + resultMap.put("name", item.getName()); + resultMap.put("createTime", item.getCreateTime()); + + if (1 == item.getIsused()) { + isUsed.add(index.get()); + } + index.getAndIncrement(); + + return resultMap; + }).collect(Collectors.toList()); + + tabInfoMap.put("datas", collect); + tabInfoMap.put("api_status", true); + Map> isUsedMap = new HashMap<>(); + isUsedMap.put("status", isUsed); + tabInfoMap.put("selectedData", isUsedMap); + tabInfoMap.put("isModalEdit", false); + return tabInfoMap; + + +// OrganizationWeaTable table = new OrganizationWeaTable<>(user, JclOrgCustomTemplateVO.class); +// String sqlWhere = buildSqlWhere(params); +// table.setSqlwhere(sqlWhere); +// WeaResultMsg result = new WeaResultMsg(false); +// result.putAll(table.makeDataResult()); +// result.success(); +// return new HashMap<>(result.getResultMap()); + } + /** * 查询条件 * @@ -954,4 +1020,14 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } return selectKeys; } + + private static String getFieldName(String fieldabel) { + RecordSet recordSet = new RecordSet(); + String fieldname = null; + recordSet.executeQuery("select fieldname from jcl_org_field where fieldlabel='" + fieldabel+"'"); + if (recordSet.next()) { + fieldname = recordSet.getString("fieldname"); + } + return fieldname; + } } diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 6f1b49ea..c59f267d 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -318,4 +318,19 @@ public class HrmResourceController { return ReturnResult.exceptionHandle(e); } } + + @GET + @Path("/getCustomTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map params = request.getParameterMap(); + return ReturnResult.successed(getHrmResourceWrapper(user).getCustomTemplate(params)); + } 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 2588586d..091de226 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -100,6 +100,10 @@ public class HrmResourceWrapper extends OrganizationWrapper { getHrmResourceService(user).deleteCustomTemplate(id); } + public Map getCustomTemplate(Map params){ + return getHrmResourceService(user).getCustomTemplate(params); + } + public Map getCustomTransferData(Map params) { return getHrmResourceService(user).getCustomTransferData(params); }