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

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

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

@ -73,5 +73,7 @@ public interface HrmResourceMapper {
List<JSONObject> queryAllResColumns(@Param("level") String level,@Param("grade") String grade); 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"> <if test="workFields != null">
work_fields, work_fields,
</if> </if>
<if test="isused != null">
isused,
</if>
</trim> </trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=","> <trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="creator != null"> <if test="creator != null">
@ -296,6 +299,9 @@
<if test="workFields != null"> <if test="workFields != null">
#{workFields}, #{workFields},
</if> </if>
<if test="isused != null">
#{isused},
</if>
</trim> </trim>
</insert> </insert>
@ -327,6 +333,9 @@
<if test="workFields != null"> <if test="workFields != null">
work_fields, work_fields,
</if> </if>
<if test="isused != null">
isused,
</if>
</trim> </trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=","> <trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="creator != null"> <if test="creator != null">
@ -350,6 +359,9 @@
<if test="workFields != null"> <if test="workFields != null">
#{workFields}, #{workFields},
</if> </if>
<if test="isused != null">
#{isused},
</if>
</trim> </trim>
</insert> </insert>
@ -403,4 +415,15 @@
and name = #{name} and name = #{name}
</select> </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> </mapper>

@ -34,4 +34,6 @@ public interface JclOrgCustomTemplateMapper {
int updateUsed(@Param("isused")String isused,@Param("id") String id,@Param("creator") String creator); 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> </where>
</update> </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> </mapper>

@ -166,4 +166,6 @@ public interface HrmResourceService {
* @return * @return
*/ */
Map<String, Object> getCustomTransferData(Map<String, Object> params); 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); return MapperProxyFactory.getProxy(SystemDataMapper.class);
} }
private JclOrgCustomTemplateMapper getJclOrgCustomTemplateMapper() {
return MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class);
}
// 所有满足条件的岗位ID // 所有满足条件的岗位ID
private List<Integer> jobTitleList = null; private List<Integer> jobTitleList = null;
// 是否 // 是否
@ -131,43 +135,43 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
OrganizationWeaTable<HrmResourceVO> table = new OrganizationWeaTable<>(user, HrmResourceVO.class); OrganizationWeaTable<HrmResourceVO> table = new OrganizationWeaTable<>(user, HrmResourceVO.class);
String sqlWhere = buildSqlWhere(params); String sqlWhere = buildSqlWhere(params);
table.setSqlwhere(sqlWhere); table.setSqlwhere(sqlWhere);
String[] str={"lastname","departmentid","subcompanyid1","jobtitle","mobile","telephone","managerid","dsporder"} ; List<WeaTableColumn> weaTableColumnList = new ArrayList<>();
String columns = (String) params.get("columns"); JclOrgCustomTemplatePO jclOrgCustomTemplatePO = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).queryIsusedTemp("1", String.valueOf(user.getUID()));
if (StringUtils.isNotBlank(columns)){ String columns = null;
String[] tmp = columns.split(","); if (jclOrgCustomTemplatePO != null) {
str = new String[tmp.length]; columns = jclOrgCustomTemplatePO.getBasicFields();
for (int i=0;i<tmp.length;i++){ if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getPersonalFields())) {
str[i] = tmp[i].substring(tmp[i].lastIndexOf("_")+1); 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)){ if (StringUtils.isNotBlank(columns)) {
MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).updateUsed("0",null, String.valueOf(user.getUID())); String[] tmp = columns.split(",");
MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).updateUsed("1",templateId, String.valueOf(user.getUID())); for (int i = 0; i < tmp.length; i++) {
} String fieldName = tmp[i].substring(tmp[i].lastIndexOf("_") + 1);
// 默认显示列 WeaTableColumn weaTableColumn = new WeaTableColumn();
List<WeaTableColumn> weaTableColumnList = new ArrayList<>(); weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName));
List<com.alibaba.fastjson.JSONObject> jsonObjectList = getHrmResourceMapper().queryAllResColumns(level,grade); weaTableColumn.setColumn(fieldName);
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"))){
weaTableColumn.setDisplay(WeaBoolAttr.TRUE); 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 weaTableColumn = new WeaTableColumn();
weaTableColumn.setText("id"); weaTableColumn.setText("id");
weaTableColumn.setColumn("id"); weaTableColumn.setColumn("id");
weaTableColumn.setDisplay(WeaBoolAttr.FALSE); weaTableColumn.setDisplay(WeaBoolAttr.FALSE);
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); 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); weaTableColumn.setOtherpara(param);
weaTableColumnList.add(weaTableColumn); weaTableColumnList.add(weaTableColumn);
@ -277,6 +281,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
} }
templatePO.setName(params.getShowname()); templatePO.setName(params.getShowname());
templatePO.setCreator(user.getUID()); templatePO.setCreator(user.getUID());
templatePO.setIsused("0");
templatePO.setCreateTime(new Date()); templatePO.setCreateTime(new Date());
templatePO.setUpdateTime(new Date()); templatePO.setUpdateTime(new Date());
getHrmResourceMapper().insertCustomTemplate(templatePO); getHrmResourceMapper().insertCustomTemplate(templatePO);
@ -354,6 +359,29 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
return resultMap; 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 @Override
public Map<String, Object> getSearchCondition(Map<String, Object> params) { public Map<String, Object> getSearchCondition(Map<String, Object> params) {
String templateId = Util.null2String(params.get("templateId")); String templateId = Util.null2String(params.get("templateId"));

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

@ -319,6 +319,12 @@ public class HrmResourceController {
} }
} }
/**
*
* @param request
* @param response
* @return
*/
@GET @GET
@Path("/getCustomTemplate") @Path("/getCustomTemplate")
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
@ -332,6 +338,12 @@ public class HrmResourceController {
} }
} }
/**
*
* @param request
* @param response
* @return
*/
@POST @POST
@Path("/updateCustomTemplate") @Path("/updateCustomTemplate")
@Produces(MediaType.APPLICATION_JSON) @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) { public Map<String, Object> getCustomTransferData(Map<String, Object> params) {
return getHrmResourceService(user).getCustomTransferData(params); return getHrmResourceService(user).getCustomTransferData(params);
} }
public Integer saveColumnsCustomTemplate(Map<String,Object> params) {
return getHrmResourceService(user).saveColumnsCustomTemplate(params);
}
} }

Loading…
Cancel
Save