花名册模板列定制功能优化20230113

pull/142/head
Mlin 2 years ago
parent 2fba3b50b9
commit 5c44a11ff3

@ -22,6 +22,7 @@ public class SearchTemplatePO {
private String basicFields;
private String personalFields;
private String workFields;
private String isused;
private Integer creator;
private Date createTime;
private Date updateTime;

@ -73,5 +73,7 @@ public interface HrmResourceMapper {
List<JSONObject> queryAllResColumns(@Param("level") String level,@Param("grade") String grade);
String queryLabelName(@Param("fieldName") String fieldName);
}

@ -273,6 +273,9 @@
<if test="workFields != null">
work_fields,
</if>
<if test="isused != null">
isused,
</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="creator != null">
@ -296,6 +299,9 @@
<if test="workFields != null">
#{workFields},
</if>
<if test="isused != null">
#{isused},
</if>
</trim>
</insert>
@ -327,6 +333,9 @@
<if test="workFields != null">
work_fields,
</if>
<if test="isused != null">
isused,
</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="creator != null">
@ -350,6 +359,9 @@
<if test="workFields != null">
#{workFields},
</if>
<if test="isused != null">
#{isused},
</if>
</trim>
</insert>
@ -403,4 +415,15 @@
and name = #{name}
</select>
<select id="queryLabelName" parameterType="java.lang.String" resultType="java.lang.String">
select b.LABELNAME from hrm_formfield a inner join htmllabelinfo b on a.fieldlabel = b.indexid where a.FIELDNAME = #{fieldName} and b.LANGUAGEID ='7'
union all
SELECT t1.hrm_fieldlable as labelname
FROM cus_formfield t1,
cus_formdict t2
WHERE t1.fieldid = t2.id
AND t1.scope = 'HrmCustomFieldByInfoType'
and t2.fieldname = #{fieldName}
</select>
</mapper>

@ -34,4 +34,6 @@ public interface JclOrgCustomTemplateMapper {
int updateUsed(@Param("isused")String isused,@Param("id") String id,@Param("creator") String creator);
JclOrgCustomTemplatePO queryIsusedTemp(@Param("isused")String isused,@Param("creator") String creator);
}

@ -141,4 +141,10 @@
</where>
</update>
<select id="queryIsusedTemp" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from JCL_ORG_CUSTOM_TEMPLATE t where t.isused = #{isused} and t.creator = #{creator}
</select>
</mapper>

@ -166,4 +166,6 @@ public interface HrmResourceService {
* @return
*/
Map<String, Object> getCustomTransferData(Map<String, Object> params);
Integer saveColumnsCustomTemplate(Map<String, Object> params);
}

@ -111,6 +111,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
return MapperProxyFactory.getProxy(SystemDataMapper.class);
}
private JclOrgCustomTemplateMapper getJclOrgCustomTemplateMapper() {
return MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class);
}
// 所有满足条件的岗位ID
private List<Integer> jobTitleList = null;
// 是否
@ -131,43 +135,43 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
OrganizationWeaTable<HrmResourceVO> table = new OrganizationWeaTable<>(user, HrmResourceVO.class);
String sqlWhere = buildSqlWhere(params);
table.setSqlwhere(sqlWhere);
String[] str={"lastname","departmentid","subcompanyid1","jobtitle","mobile","telephone","managerid","dsporder"} ;
String columns = (String) params.get("columns");
if (StringUtils.isNotBlank(columns)){
String[] tmp = columns.split(",");
str = new String[tmp.length];
for (int i=0;i<tmp.length;i++){
str[i] = tmp[i].substring(tmp[i].lastIndexOf("_")+1);
List<WeaTableColumn> weaTableColumnList = new ArrayList<>();
JclOrgCustomTemplatePO jclOrgCustomTemplatePO = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).queryIsusedTemp("1", String.valueOf(user.getUID()));
String columns = null;
if (jclOrgCustomTemplatePO != null) {
columns = jclOrgCustomTemplatePO.getBasicFields();
if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getPersonalFields())) {
columns = "," + jclOrgCustomTemplatePO.getPersonalFields();
}
if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getWorkFields())) {
columns = "," + jclOrgCustomTemplatePO.getWorkFields();
}
} else {
//初次使用,无模板初始值
columns = "-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_subcompanyid1,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid,-1_hrm_sporder";
}
String templateId = (String) params.get("templateId");
if (StringUtils.isNotBlank(templateId)){
MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).updateUsed("0",null, String.valueOf(user.getUID()));
MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).updateUsed("1",templateId, String.valueOf(user.getUID()));
}
// 默认显示列
List<WeaTableColumn> weaTableColumnList = new ArrayList<>();
List<com.alibaba.fastjson.JSONObject> jsonObjectList = getHrmResourceMapper().queryAllResColumns(level,grade);
for (com.alibaba.fastjson.JSONObject jsonObject : jsonObjectList){
WeaTableColumn weaTableColumn = new WeaTableColumn();
weaTableColumn.setText(jsonObject.getString("labelname"));
weaTableColumn.setColumn(jsonObject.getString("fieldname"));
weaTableColumn.setDisplay(WeaBoolAttr.FALSE);
if(Arrays.asList(str).contains(jsonObject.getString("fieldname"))){
if (StringUtils.isNotBlank(columns)) {
String[] tmp = columns.split(",");
for (int i = 0; i < tmp.length; i++) {
String fieldName = tmp[i].substring(tmp[i].lastIndexOf("_") + 1);
WeaTableColumn weaTableColumn = new WeaTableColumn();
weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName));
weaTableColumn.setColumn(fieldName);
weaTableColumn.setDisplay(WeaBoolAttr.TRUE);
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue");
String param = tmp[i];
weaTableColumn.setOtherpara(param);
weaTableColumnList.add(weaTableColumn);
}
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue");
String param = "-1_hrm_"+jsonObject.getString("fieldname")+"_"+user.getUID();
weaTableColumn.setOtherpara(param);
weaTableColumnList.add(weaTableColumn);
}
// 增加id字段
// 增加id字段,跳转人员卡片
WeaTableColumn weaTableColumn = new WeaTableColumn();
weaTableColumn.setText("id");
weaTableColumn.setColumn("id");
weaTableColumn.setDisplay(WeaBoolAttr.FALSE);
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue");
String param = "-1_hrm_id_"+user.getUID();
String param = "-1_hrm_id_" + user.getUID();
weaTableColumn.setOtherpara(param);
weaTableColumnList.add(weaTableColumn);
@ -277,6 +281,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
}
templatePO.setName(params.getShowname());
templatePO.setCreator(user.getUID());
templatePO.setIsused("0");
templatePO.setCreateTime(new Date());
templatePO.setUpdateTime(new Date());
getHrmResourceMapper().insertCustomTemplate(templatePO);
@ -354,6 +359,29 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
return resultMap;
}
@Override
public Integer saveColumnsCustomTemplate(Map<String, Object> params) {
String columns = Util.null2String(params.get("columns"));
String templateId = Util.null2String(params.get("templateId"));
SearchTemplatePO templatePO = buildSearchTemplateByFields(columns);
JclOrgCustomTemplatePO jclOrgCustomTemplatePO = new JclOrgCustomTemplatePO();
if (StringUtils.isNotBlank(templateId)){
jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId));
if (jclOrgCustomTemplatePO!=null){
jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId));
jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields());
jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields());
jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields());
jclOrgCustomTemplatePO.setIsused(1);
//取消已启用模板
getJclOrgCustomTemplateMapper().updateUsed("0",templateId,String.valueOf(user.getUID()));
//启用当前模板
getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO);
}
}
return jclOrgCustomTemplatePO.getId();
}
@Override
public Map<String, Object> getSearchCondition(Map<String, Object> params) {
String templateId = Util.null2String(params.get("templateId"));

@ -18,15 +18,14 @@ import weaver.hrm.definedfield.HrmFieldManager;
public class HrmResourceTransMethod {
public static String getFieldTrueValue(String id, String para) {
// type = "-1_hrm_lastname";
HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0]));
hfm.getCustomFields();
String fieldName = hfm.getFieldname();
JSONObject hrmFieldConf = hfm.getHrmFieldConf(para.split("_")[2]);
JSONObject hrmFieldConf = hfm.getHrmFieldConf(para.substring(para.lastIndexOf("_") + 1));
String hrmData = id;
User user = new User();
user.setUid(Integer.parseInt(para.split("_")[3]));
user.setUid(1);
try {
return hfm.getFieldvalue(null, user, null, hrmFieldConf.getString("dmlurl"), hrmFieldConf.getInt("id"), hrmFieldConf.getInt("fieldhtmltype"), hrmFieldConf.getInt("type"), hrmData, 0, fieldName);
} catch (Exception e) {

@ -319,6 +319,12 @@ public class HrmResourceController {
}
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCustomTemplate")
@Produces(MediaType.APPLICATION_JSON)
@ -332,6 +338,12 @@ public class HrmResourceController {
}
}
/**
*
* @param request
* @param response
* @return
*/
@POST
@Path("/updateCustomTemplate")
@Produces(MediaType.APPLICATION_JSON)
@ -346,4 +358,20 @@ public class HrmResourceController {
}
}
/**
*
*/
@POST
@Path("/saveColumnsCustomTemplate")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult saveColumnsCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> map = ParamUtil.request2Map(request);
return ReturnResult.successed(getHrmResourceWrapper(user).saveColumnsCustomTemplate(map));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
}

@ -111,4 +111,8 @@ public class HrmResourceWrapper extends OrganizationWrapper {
public Map<String, Object> getCustomTransferData(Map<String, Object> params) {
return getHrmResourceService(user).getCustomTransferData(params);
}
public Integer saveColumnsCustomTemplate(Map<String,Object> params) {
return getHrmResourceService(user).saveColumnsCustomTemplate(params);
}
}

Loading…
Cancel
Save