列定制 全局模板

pull/272/head
dxfeng 11 months ago
parent c33532c241
commit b58378854b

@ -5,6 +5,8 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Objects;
/** /**
* @author:dxfeng * @author:dxfeng
* @createTime: 2023/01/05 * @createTime: 2023/01/05
@ -19,4 +21,21 @@ public class SearchTemplateParam {
//private boolean selected; //private boolean selected;
private String showname; private String showname;
private String fields; private String fields;
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
SearchTemplateParam that = (SearchTemplateParam) o;
return key.equals(that.key);
}
@Override
public int hashCode() {
return Objects.hash(key);
}
} }

@ -64,4 +64,6 @@ public class JclOrgCustomTemplatePO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Integer overall;
} }

@ -147,7 +147,7 @@
select id, select id,
name name
from jcl_org_custom_template from jcl_org_custom_template
where creator = #{userId} where creator = #{userId} and overall is null
</select> </select>
<select id="getCustomOverAll" resultMap="SearchTemplateMap"> <select id="getCustomOverAll" resultMap="SearchTemplateMap">
@ -452,7 +452,7 @@
select * select *
from jcl_org_custom_template from jcl_org_custom_template
where ISUSED = 1 where ISUSED = 1
and overall = 0 and overall is null
and creator = #{userId} and creator = #{userId}
</select> </select>

@ -14,12 +14,13 @@
<result property="creator" column="creator" jdbcType="INTEGER"/> <result property="creator" column="creator" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="DATE"/> <result property="createTime" column="create_time" jdbcType="DATE"/>
<result property="updateTime" column="update_time" jdbcType="DATE"/> <result property="updateTime" column="update_time" jdbcType="DATE"/>
<result property="overall" column="overall"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,name,basic_fields, id,name,basic_fields,
personal_fields,work_fields,isused, personal_fields,work_fields,isused,
creator,create_time,update_time creator,create_time,update_time,overall
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
@ -132,9 +133,7 @@
<update id="updateUsed" parameterType="java.lang.String"> <update id="updateUsed" parameterType="java.lang.String">
update JCL_ORG_CUSTOM_TEMPLATE set isused = #{isused} update JCL_ORG_CUSTOM_TEMPLATE set isused = #{isused}
<where> <where>
<if test="overall !=null"> overall is null
overall = #{overall}
</if>
<if test="id !=null"> <if test="id !=null">
and id = #{id} and id = #{id}
</if> </if>
@ -147,7 +146,7 @@
<select id="queryIsusedTemp" parameterType="java.lang.String" resultMap="BaseResultMap"> <select id="queryIsusedTemp" parameterType="java.lang.String" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List" />
from JCL_ORG_CUSTOM_TEMPLATE t where t.isused = #{isused} and t.creator = #{creator} from JCL_ORG_CUSTOM_TEMPLATE t where t.isused = #{isused} and t.creator = #{creator} and overall is null
</select> </select>
<select id="queryOverAll" parameterType="java.lang.String" resultMap="BaseResultMap"> <select id="queryOverAll" parameterType="java.lang.String" resultMap="BaseResultMap">

@ -34,6 +34,7 @@ import com.engine.organization.entity.search.QuickSearchDetail;
import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTree;
import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.enums.HrmGroupEnum; import com.engine.organization.enums.HrmGroupEnum;
import com.engine.organization.exception.OrganizationRunTimeException;
import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.comp.CompMapper;
import com.engine.organization.mapper.condition.QuickSearchMapper; import com.engine.organization.mapper.condition.QuickSearchMapper;
import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.department.DepartmentMapper;
@ -320,19 +321,32 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
int userUID = user.getUID(); int userUID = user.getUID();
// 根据ID查询所存储的模板 // 根据ID查询所存储的模板
List<SearchTemplateParam> templates; List<SearchTemplateParam> templates;
boolean addDefault = true;
if ("custom".equals(type)) { if ("custom".equals(type)) {
templates = getHrmResourceMapper().getCustomTemplatesByUser(userUID); templates = getHrmResourceMapper().getCustomTemplatesByUser(userUID);
SearchTemplatePO overallCustomTemplate = getHrmResourceMapper().getOverallCustomTemplate();
if (null != overallCustomTemplate) {
if("-1".equals(id)) {
id = overallCustomTemplate.getId().toString();
}
templates.add(SearchTemplateParam.builder().key(overallCustomTemplate.getId().toString()).showname(overallCustomTemplate.getName()).build());
//}
addDefault = false;
}
returnMap.put("id", id); returnMap.put("id", id);
} else { } else {
templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID);
} }
templates.add(0, SearchTemplateParam.builder().key("-1").showname("默认模板").build()); if (addDefault) {
templates.add(0, SearchTemplateParam.builder().key("-1").showname("默认模板").build());
}
//1.增加全局模板 //1.增加全局模板
if (userUID != 1) { if (userUID != 1) {
templates.addAll(getHrmResourceMapper().getCustomOverAll()); templates.addAll(getHrmResourceMapper().getCustomOverAll());
} }
returnMap.put("templates", templates); LinkedHashSet<Object> objects = new LinkedHashSet<>(templates);
returnMap.put("templates", objects);
return returnMap; return returnMap;
} }
@ -423,20 +437,21 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
} }
transferOptions.add(SearchTemplateParam.builder().key(Integer.toString(idx.getAndIncrement())).showname(allCondition.getTitle()).build()); transferOptions.add(SearchTemplateParam.builder().key(Integer.toString(idx.getAndIncrement())).showname(allCondition.getTitle()).build());
} }
// 查询当前使用的模板,没有使用的,则展示默认模板
if ("-1".equals(templateId)) { if ("-1".equals(templateId)) {
// 查询当前使用的模板,没有使用的,则展示默认模板 String selectKeys = "-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid";
SearchTemplatePO usedCustomTemplate = getHrmResourceMapper().getUsedCustomTemplateByUser(user.getUID()); transferKeys = Arrays.asList(selectKeys.split(","));
if (null == usedCustomTemplate) { SearchTemplatePO overallCustomTemplate = getHrmResourceMapper().getOverallCustomTemplate();
String selectKeys = "-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid"; if (null != overallCustomTemplate) {
transferKeys = Arrays.asList(selectKeys.split(",")); transferKeys = getSelectKeys(overallCustomTemplate);
} else {
transferKeys = getSelectKeys(usedCustomTemplate);
templateId = usedCustomTemplate.getId().toString();
} }
} else { } else {
SearchTemplatePO searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); SearchTemplatePO searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId);
transferKeys = getSelectKeys(searchTemplateById); transferKeys = getSelectKeys(searchTemplateById);
} }
transferOptions.add(0, SearchTemplateParam.builder().key("").showname("").build()); transferOptions.add(0, SearchTemplateParam.builder().key("").showname("").build());
resultMap.put("transferDatas", transferDatas); resultMap.put("transferDatas", transferDatas);
resultMap.put("transferKeys", transferKeys); resultMap.put("transferKeys", transferKeys);
@ -458,13 +473,17 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
} else { } else {
jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId)); jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId));
if (jclOrgCustomTemplatePO != null) { if (jclOrgCustomTemplatePO != null) {
//取消已启用模板
getJclOrgCustomTemplateMapper().updateUsed(0, "0", null, String.valueOf(user.getUID()));
if (!user.isAdmin() && jclOrgCustomTemplatePO.getOverall() != null && "1".equals(jclOrgCustomTemplatePO.getOverall().toString())) {
throw new OrganizationRunTimeException(SystemEnv.getHtmlLabelName(547857, user.getLanguage()));
}
jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId)); jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId));
jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields()); jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields());
jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields()); jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields());
jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields()); jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields());
jclOrgCustomTemplatePO.setIsused(1); jclOrgCustomTemplatePO.setIsused(1);
//取消已启用模板
getJclOrgCustomTemplateMapper().updateUsed(0,"0", null, String.valueOf(user.getUID()));
//启用当前模板 //启用当前模板
getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO); getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO);
} }
@ -535,11 +554,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
Map<String, Object> data = new HashMap<>(2); Map<String, Object> data = new HashMap<>(2);
//1.将已有所有人的模板状态改变 //1.将已有所有人的模板状态改变
rs.executeUpdate("update jcl_org_custom_template set overall = 0 where overall = 1"); rs.executeUpdate("update jcl_org_custom_template set overall = null where overall = 1");
//2.应用当前模板到所有人 //2.应用当前模板到所有人
String templateId = Util.null2String(params.get("templateId")); String templateId = Util.null2String(params.get("templateId"));
boolean b = rs.executeUpdate("update jcl_org_custom_template set overall = 1,isused=1 where id = ?", templateId); boolean b = rs.executeUpdate("update jcl_org_custom_template set overall = 1,isused=1 where id = ?", templateId);
data.put("result",b); data.put("result", b);
return data; return data;
} }
@ -617,6 +636,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
/** /**
* 使Id * 使Id
*
* @return * @return
*/ */
private String getCustomTemplateId() { private String getCustomTemplateId() {

Loading…
Cancel
Save