weaver-develop/src/com/engine/qz/service/impl/HrmCustomTemplateServiceImp...

150 lines
5.5 KiB
Java
Raw Normal View History

2025-03-11 19:04:52 +08:00
package com.engine.qz.service.impl;
import com.engine.core.impl.Service;
import com.engine.qz.entity.CustomTemplateVo;
import com.engine.qz.entity.CustomTranscerDataVo;
2025-03-12 18:49:41 +08:00
import com.engine.qz.entity.TemplateFieldsPo;
2025-03-11 19:04:52 +08:00
import com.engine.qz.service.HrmCustomTemplateService;
2025-03-12 18:49:41 +08:00
import weaver.general.TimeUtil;
import weaver.general.Util;
2025-03-11 19:04:52 +08:00
import weaver.conn.RecordSet;
2025-03-12 18:49:41 +08:00
import java.util.*;
2025-03-11 19:04:52 +08:00
/**
* @Author Apple
* @Date 2025/2/24 11:08
* @Description:
* @Version 1.0
*/
public class HrmCustomTemplateServiceImpl extends Service implements HrmCustomTemplateService {
@Override
public CustomTranscerDataVo getCustomTransferData(Map<String, Object> params) {
2025-03-12 18:49:41 +08:00
//1.所有可查看字段 todo 权限控制获取)
LinkedList<TemplateFieldsPo> transferDatas = rosterList();
2025-03-11 19:04:52 +08:00
//2.存在模板 且已经选择的字段
2025-03-12 18:49:41 +08:00
LinkedList<CustomTemplateVo> customTemplate = getCustomTemplate();
Optional<CustomTemplateVo> result = customTemplate.stream()
.filter(vo -> vo.getIsused() == 1)
.findFirst();
2025-03-11 19:04:52 +08:00
2025-03-12 18:49:41 +08:00
LinkedList<String> transferKeys = new LinkedList<>();
CustomTemplateVo customTemplateVo = new CustomTemplateVo();
if (result.isPresent()) {
customTemplateVo = result.get();
transferKeys.addAll(Arrays.asList(customTemplateVo.getTemplateFields().split(",")));
2025-03-11 19:04:52 +08:00
2025-03-12 18:49:41 +08:00
} else {
//(todo 无模板或不存在启用模板)
2025-03-11 19:04:52 +08:00
2025-03-12 18:49:41 +08:00
}
return CustomTranscerDataVo.builder().templateId(customTemplateVo.getKey()).transferDatas(transferDatas).transferKeys(transferKeys).build();
2025-03-11 19:04:52 +08:00
}
@Override
public LinkedList<CustomTemplateVo> getCustomTemplate() {
RecordSet rs = new RecordSet();
LinkedList<CustomTemplateVo> customTemplateVos = new LinkedList<>();
rs.executeQuery("select id,templateName,templateFields,isused,belongto from uf_custom_template \n" +
"where belongto = ? order by id asc",user.getUID());
while (rs.next()) {
customTemplateVos.add(CustomTemplateVo.builder()
.key(Util.null2String(rs.getString("id")))
.showname(Util.null2String(rs.getString("templateName")))
.templateFields(Util.null2String(rs.getString("templateFields")))
.isused(Util.getIntValue(rs.getString("isused")))
.belongto(Util.getIntValue(rs.getString("belongto")))
.build());
}
//todo 没有模板或者模版都没启用
return customTemplateVos;
}
@Override
public Map<String, Object> addCustomTemplate(Map<String, Object> params) {
2025-03-12 18:49:41 +08:00
String customTemplateName = Util.null2String(params.get("showname"));
String fields = Util.null2String(params.get("fields"));
String currentDate = TimeUtil.getCurrentDateString();
String currentTime = TimeUtil.getOnlyCurrentTimeString();
int uid = user.getUID();
String uuid = UUID.randomUUID().toString();
Map<String, Object> datas = new HashMap<>(4);
RecordSet rs = new RecordSet();
String templateId = "";
boolean result = rs.executeUpdate("insert into uf_custom_template(templateName,templateFields,isused,belongto,modedatacreatedate,modedatacreatetime," +
" modedatacreater,modeuuid) values(?,?,?,?,?,?,?,?)", customTemplateName, fields, 0, uid, currentDate, currentTime, uid, uuid);
if (result) {
rs.executeQuery("select id from uf_custom_template where modeuuid = ?",uuid);
if (rs.next()) {
templateId = Util.null2String(rs.getString("id"));
}
}
datas.put("templateId",templateId);
datas.put("customTemplates",getCustomTemplate());
return datas;
2025-03-11 19:04:52 +08:00
}
@Override
2025-03-12 18:49:41 +08:00
public void updateCustomTemplateFields(Map<String, Object> params) {
String templateId = Util.null2String(params.get("templateId"));
String fields = Util.null2String(params.get("fields"));
RecordSet rs = new RecordSet();
//1.更新当前用户该方案数据
boolean flag = rs.executeUpdate("update uf_custom_template set templateFields = '" + fields + "',isused = 1 where id = ?", templateId);
//2.更新当前用户其它方案为未启用
if (flag) {
rs.executeUpdate("update uf_custom_template set isused = 0 where belongto = ? and id <> ?",user.getUID(),templateId);
}
}
@Override
public LinkedList<String> getTemplateSelectKeys(String templateId) {
LinkedList<CustomTemplateVo> customTemplateList = getCustomTemplate();
CustomTemplateVo customTemplate = customTemplateList.stream()
.filter(item -> templateId.equals(item.getKey()))
.findFirst()
.get();
return new LinkedList<>(Arrays.asList(customTemplate.getTemplateFields().split(",")));
}
private LinkedList<TemplateFieldsPo> rosterList() {
LinkedList<TemplateFieldsPo> templateFields = new LinkedList<>();
RecordSet rs = new RecordSet();
rs.executeQuery("select id,chinese,dataName from uf_roster_field order by id asc");
while (rs.next()) {
templateFields.add(TemplateFieldsPo.builder()
.id(Util.null2String(rs.getString("id")))
.fieldName(Util.null2String(rs.getString("chinese")))
.fieldDataName(Util.null2String(rs.getString("dataName")))
.build());
}
return templateFields;
2025-03-11 19:04:52 +08:00
}
}