花名册模板列定制20230113

pull/141/head^2
Mlin 2 years ago
parent a395024010
commit e3a78a05c7

@ -386,37 +386,9 @@
</sql>
<select id="queryAllResColumns" parameterType="java.lang.String" resultType="com.alibaba.fastjson.JSONObject">
select
a.ID ,
a.LASTNAME ,
a.DEPARTMENTID ,
a.SUBCOMPANYID1 ,
a.JOBTITLE ,
a.MOBILE ,
a.TELEPHONE ,
a.MANAGERID ,
a.DSPORDER ,
b.field1 ,
b.field2 ,
b.field3 ,
b.field4 ,
b.field5 ,
c.scheme_name ,
d.level_name ,
e.grade_name ,
f.sequence_name
from
hrmresource a
left join cus_fielddata b on
a.ID = b.id
left join jcl_org_scheme c on
b.field2 = c.id
left join jcl_org_level d on
b.field3 = d.id
left join jcl_org_grade e on
b.field4 = e.id
left join jcl_org_sequence f on
b.field5 = f.id
select a.fieldid, a.fieldname, b.labelname, a.issystem, a.ismand
from hrm_formfield a
inner join htmllabelinfo b on a.fieldlabel = b.indexid and b.languageid = 7
</select>
</mapper>

@ -32,4 +32,6 @@ public interface JclOrgCustomTemplateMapper {
int deleteByIds(@Param("ids") Collection<Long> ids);
int updateUsed(@Param("isused")String isused,@Param("id") String id,@Param("creator") String creator);
}

@ -129,4 +129,16 @@
</foreach>
</delete>
<update id="updateUsed" parameterType="java.lang.String">
update JCL_ORG_CUSTOM_TEMPLATE set isused = #{isused}
<where>
<if test="id !=null">
id = #{id}
</if>
<if test="creator !=null">
and creator = #{creator}
</if>
</where>
</update>
</mapper>

@ -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.constant.WeaBoolAttr;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.core.impl.Service;
@ -132,22 +133,47 @@ 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);
}
}
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<>();
WeaTableColumn weaTableColumn = new WeaTableColumn();
List<com.alibaba.fastjson.JSONObject> 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());
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.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue");
String param = "-1_hrm_"+jsonObject.getString("fieldname")+"_"+user.getUID();
weaTableColumn.setOtherpara(param);
weaTableColumnList.add(weaTableColumn);
}
// 增加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();
weaTableColumn.setOtherpara(param);
weaTableColumnList.add(weaTableColumn);
table.setColumns(weaTableColumnList);
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();

@ -5,7 +5,10 @@ import com.engine.organization.mapper.comp.CompMapper;
import com.engine.organization.mapper.department.DepartmentMapper;
import com.engine.organization.mapper.hrmresource.SystemDataMapper;
import com.engine.organization.util.db.MapperProxyFactory;
import org.json.JSONObject;
import weaver.conn.RecordSet;
import weaver.hrm.User;
import weaver.hrm.definedfield.HrmFieldManager;
/**
* @author:dxfeng
@ -14,6 +17,23 @@ import weaver.hrm.User;
*/
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]);
String hrmData = id;
User user = new User();
user.setUid(Integer.parseInt(para.split("_")[3]));
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) {
return "";
}
}
public static String getDepartmentName(String departmentId) {
return MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptNameById(Integer.parseInt(departmentId));
}

Loading…
Cancel
Save