考勤字段相关接口
This commit is contained in:
parent
eb4ca765d7
commit
1a49dd331d
|
|
@ -0,0 +1,38 @@
|
|||
package com.engine.salary.biz;
|
||||
|
||||
import com.engine.salary.entity.datacollection.po.AttendQuoteDataValuePO;
|
||||
import com.engine.salary.mapper.datacollection.AttendQuoteDataValueMapper;
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import weaver.conn.mybatis.MyBatisFactory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AttendQuoteDataValueBiz {
|
||||
|
||||
/**
|
||||
* 根据考勤引用字段表的主键id删除
|
||||
* @param attendQuoteDataIds
|
||||
*/
|
||||
public void deleteByAttendQuoteDataIds(List<Long> attendQuoteDataIds) {
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
AttendQuoteDataValueMapper mapper = sqlSession.getMapper(AttendQuoteDataValueMapper.class);
|
||||
mapper.deleteByAttendQuoteDataIds(attendQuoteDataIds);
|
||||
sqlSession.commit();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public List<AttendQuoteDataValuePO> listSome(AttendQuoteDataValuePO param) {
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
AttendQuoteDataValueMapper mapper = sqlSession.getMapper(AttendQuoteDataValueMapper.class);
|
||||
return mapper.listSome(param);
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ alter table hrsa_add_up_deduction modify id bigint auto_increment;
|
|||
alter table hrsa_add_up_situation modify id bigint auto_increment;
|
||||
alter table hrsa_other_deduction modify id bigint auto_increment;
|
||||
alter table hrsa_attend_quote_field modify id bigint auto_increment;
|
||||
alter table hrsa_attend_quote_sync_set modify id bigint auto_increment;
|
||||
|
||||
--福利方案主键自增增加
|
||||
alter table hrsa_social_security_scheme modify id bigint auto_increment;
|
||||
|
|
|
|||
|
|
@ -303,7 +303,6 @@
|
|||
|
||||
<insert id="insertData">
|
||||
INSERT INTO hrsa_attend_quote_data(
|
||||
id,
|
||||
employee_id,
|
||||
attend_quote_id,
|
||||
create_time,
|
||||
|
|
@ -313,7 +312,6 @@
|
|||
VALUES
|
||||
<foreach collection="collection" item="item" separator=",">
|
||||
(
|
||||
#{item.id},
|
||||
#{item.employeeId},
|
||||
#{item.attendQuoteId},
|
||||
#{item.createTime},
|
||||
|
|
@ -325,7 +323,6 @@
|
|||
</insert>
|
||||
<insert id="insertData" databaseId="oracle">
|
||||
INSERT INTO hrsa_attend_quote_data(
|
||||
id,
|
||||
employee_id,
|
||||
attend_quote_id,
|
||||
create_time,
|
||||
|
|
@ -335,7 +332,6 @@
|
|||
|
||||
<foreach collection="collection" item="item" separator="union all">
|
||||
select
|
||||
#{item.id},
|
||||
#{item.employeeId},
|
||||
#{item.attendQuoteId},
|
||||
#{item.createTime},
|
||||
|
|
@ -347,7 +343,6 @@
|
|||
</insert>
|
||||
<insert id="insertData" databaseId="sqlserver">
|
||||
INSERT INTO hrsa_attend_quote_data(
|
||||
id,
|
||||
employee_id,
|
||||
attend_quote_id,
|
||||
create_time,
|
||||
|
|
@ -357,7 +352,6 @@
|
|||
VALUES
|
||||
<foreach collection="collection" item="item" separator=",">
|
||||
(
|
||||
#{item.id},
|
||||
#{item.employeeId},
|
||||
#{item.attendQuoteId},
|
||||
#{item.createTime},
|
||||
|
|
|
|||
|
|
@ -61,15 +61,14 @@ public interface AttendQuoteDataValueMapper {
|
|||
/**
|
||||
* 批量删除数据采集-考勤引用数据
|
||||
* @param attendQuoteDataIds
|
||||
* @param tenantKey
|
||||
*/
|
||||
void deleteByAttendQuoteDataIds(@Param("attendQuoteDataIds") Collection<Long> attendQuoteDataIds, @Param("tenantKey") String tenantKey);
|
||||
void deleteByAttendQuoteDataIds(@Param("attendQuoteDataIds") Collection<Long> attendQuoteDataIds);
|
||||
|
||||
/**
|
||||
* 批量插入数据采集-考勤引用数据
|
||||
* @param values
|
||||
* @param currentTenantKey
|
||||
*/
|
||||
void insertData(@Param("collection") List<AttendQuoteDataValuePO> values, String currentTenantKey);
|
||||
|
||||
void insertData(@Param("collection") List<AttendQuoteDataValuePO> values);
|
||||
|
||||
List<AttendQuoteDataValuePO> listSome(AttendQuoteDataValuePO param);
|
||||
}
|
||||
|
|
@ -196,7 +196,7 @@
|
|||
<update id="deleteByAttendQuoteDataIds">
|
||||
UPDATE hrsa_attend_quote_data_value
|
||||
SET delete_type = 1
|
||||
WHERE tenant_key = #{tenantKey} AND delete_type = 0
|
||||
WHERE delete_type = 0
|
||||
AND attend_quote_data_id IN
|
||||
<foreach collection="attendQuoteDataIds" open="(" item="attendQuoteDataId" separator="," close=")">
|
||||
#{attendQuoteDataId}
|
||||
|
|
@ -205,7 +205,6 @@
|
|||
|
||||
<insert id="insertData">
|
||||
INSERT INTO hrsa_attend_quote_data_value(
|
||||
id,
|
||||
employee_id,
|
||||
attend_quote_id,
|
||||
attend_quote_data_id,
|
||||
|
|
@ -218,7 +217,6 @@
|
|||
VALUES
|
||||
<foreach collection="collection" item="item" separator=",">
|
||||
(
|
||||
#{item.id},
|
||||
#{item.employeeId},
|
||||
#{item.attendQuoteId},
|
||||
#{item.attendQuoteDataId},
|
||||
|
|
@ -233,7 +231,6 @@
|
|||
</insert>
|
||||
<insert id="insertData" databaseId="oracle">
|
||||
INSERT INTO hrsa_attend_quote_data_value(
|
||||
id,
|
||||
employee_id,
|
||||
attend_quote_id,
|
||||
attend_quote_data_id,
|
||||
|
|
@ -246,7 +243,6 @@
|
|||
|
||||
<foreach collection="collection" item="item" separator="union all">
|
||||
select
|
||||
#{item.id},
|
||||
#{item.employeeId},
|
||||
#{item.attendQuoteId},
|
||||
#{item.attendQuoteDataId},
|
||||
|
|
@ -261,7 +257,6 @@
|
|||
</insert>
|
||||
<insert id="insertData" databaseId="sqlserver">
|
||||
INSERT INTO hrsa_attend_quote_data_value(
|
||||
id,
|
||||
employee_id,
|
||||
attend_quote_id,
|
||||
attend_quote_data_id,
|
||||
|
|
@ -274,7 +269,6 @@
|
|||
VALUES
|
||||
<foreach collection="collection" item="item" separator=",">
|
||||
(
|
||||
#{item.id},
|
||||
#{item.employeeId},
|
||||
#{item.attendQuoteId},
|
||||
#{item.attendQuoteDataId},
|
||||
|
|
@ -288,6 +282,16 @@
|
|||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
<select id="listSome" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_attend_quote_data_value t
|
||||
WHERE delete_type = 0
|
||||
<if test="param.attendQuoteId != null and param.attendQuoteId != ''">
|
||||
AND attend_quote_id = #{param.attendQuoteId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -264,11 +264,10 @@
|
|||
|
||||
<insert id="saveBatch">
|
||||
INSERT INTO hrsa_attend_quote_field
|
||||
(id,field_name,source_type,field_type,enable_status,code,description,create_time,update_time,creator,delete_type,tenant_key)
|
||||
(field_name,source_type,field_type,enable_status,code,description,create_time,update_time,creator,delete_type,tenant_key)
|
||||
VALUES
|
||||
<foreach collection="saves" item="item" separator=",">
|
||||
(
|
||||
#{item.id},
|
||||
#{item.fieldName},
|
||||
#{item.sourceType},
|
||||
#{item.fieldType},
|
||||
|
|
@ -281,11 +280,10 @@
|
|||
</insert>
|
||||
<insert id="saveBatch" databaseId="oracle">
|
||||
INSERT INTO hrsa_attend_quote_field
|
||||
(id,field_name,source_type,field_type,enable_status,code,description,create_time,update_time,creator,delete_type,tenant_key)
|
||||
(field_name,source_type,field_type,enable_status,code,description,create_time,update_time,creator,delete_type,tenant_key)
|
||||
|
||||
<foreach collection="saves" item="item" separator="union all">
|
||||
select
|
||||
#{item.id},
|
||||
#{item.fieldName},
|
||||
#{item.sourceType},
|
||||
#{item.fieldType},
|
||||
|
|
@ -298,11 +296,10 @@
|
|||
</insert>
|
||||
<insert id="saveBatch" databaseId="sqlserver">
|
||||
INSERT INTO hrsa_attend_quote_field
|
||||
(id,field_name,source_type,field_type,enable_status,code,description,create_time,update_time,creator,delete_type,tenant_key)
|
||||
(field_name,source_type,field_type,enable_status,code,description,create_time,update_time,creator,delete_type,tenant_key)
|
||||
VALUES
|
||||
<foreach collection="saves" item="item" separator=",">
|
||||
(
|
||||
#{item.id},
|
||||
#{item.fieldName},
|
||||
#{item.sourceType},
|
||||
#{item.fieldType},
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.entity.datacollection.param.AttendQuoteDataQueryParam;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 数据采集-考勤引用数据
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
public interface AttendQuoteDataService {
|
||||
|
||||
/**
|
||||
* 查看数据采集-考勤引用
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> view(AttendQuoteDataQueryParam queryParam);
|
||||
//
|
||||
// /**
|
||||
// * 导出考勤数据
|
||||
// * @param queryParam
|
||||
// * @param currentEmployeeId
|
||||
// * @param currentTenantKey
|
||||
// * @return
|
||||
// */
|
||||
// Map<String, Object> export(AttendQuoteDataQueryParam queryParam, Long currentEmployeeId, String currentTenantKey);
|
||||
//
|
||||
// /**
|
||||
// * 同步引用考勤数据
|
||||
// * @param syncParam
|
||||
// * @param currentEmployeeId
|
||||
// * @param currentTenantKey
|
||||
// * @return
|
||||
// */
|
||||
// String syncAttendQuoteData(AttendQuoteDataSyncParam syncParam, Long currentEmployeeId, String currentTenantKey);
|
||||
//
|
||||
// /**
|
||||
// * 获取考勤引用数据
|
||||
// * @param salaryYearMonth
|
||||
// * @param salarySobId
|
||||
// * @param employeeIds
|
||||
// * @param tenantKey
|
||||
// * @return
|
||||
// */
|
||||
// List<AttendQuoteDataDTO> getAttendQuoteData(YearMonth salaryYearMonth, Long salarySobId, List<Long> employeeIds, String tenantKey);
|
||||
//
|
||||
// /**
|
||||
// * 导出考勤数据作为模板
|
||||
// * @param exportParam
|
||||
// * @param currentEmployeeId
|
||||
// * @param currentTenantKey
|
||||
// * @return
|
||||
// */
|
||||
// Map<String, Object> downloadTemplate(AttendQuoteDataExportTemplateParam exportParam, Long currentEmployeeId, String currentTenantKey);
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@ import java.util.Collection;
|
|||
import java.util.Map;
|
||||
|
||||
public interface AttendQuoteService {
|
||||
/**
|
||||
/**AttendQuoteDataService
|
||||
* 数据采集-考勤引用列表
|
||||
*/
|
||||
Map<String, Object> list(Map<String, Object> params);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,878 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.biz.*;
|
||||
import com.engine.salary.entity.datacollection.dto.AttendQuoteDataBaseDTO;
|
||||
import com.engine.salary.entity.datacollection.param.AttendQuoteDataQueryParam;
|
||||
import com.engine.salary.entity.datacollection.po.AttendQuoteDataValuePO;
|
||||
import com.engine.salary.entity.datacollection.po.AttendQuoteFieldPO;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.service.AttendQuoteDataService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 数据采集-考勤引用数据
|
||||
* @Author: wangxiangzhong
|
||||
* @Date: 2021-11-17 14:37
|
||||
*/
|
||||
public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDataService {
|
||||
|
||||
private AttendQuoteBiz attendQuoteBiz = new AttendQuoteBiz();
|
||||
private AttendQuoteDataBiz biz = new AttendQuoteDataBiz();
|
||||
private AttendQuoteDataValueBiz dataValueBiz = new AttendQuoteDataValueBiz();
|
||||
|
||||
private AttendQuoteFieldBiz fieldBiz = new AttendQuoteFieldBiz();
|
||||
private EmployBiz employeeBiz = new EmployBiz();
|
||||
// AttendQuoteFieldSettingBiz a= new AttendQuoteFieldSettingBiz();
|
||||
|
||||
|
||||
// @Resource
|
||||
// private SalarySobMapper salarySobMapper;
|
||||
// @Resource
|
||||
// private SalarySobRangeMapper salarySobRangeMapper;
|
||||
// @Resource
|
||||
// private SalarySobService salarySobService;
|
||||
// @Resource
|
||||
// private HrmCommonEmployeeService employeeService;
|
||||
// @Resource
|
||||
// private SalaryBatchService salaryBatchService;
|
||||
// @Resource
|
||||
// private AttendQuoteFieldSettingService attendQuoteFieldSettingService;
|
||||
// @RpcReference
|
||||
// private RemoteAttend4SalaryService remoteAttend4SalaryService;
|
||||
// @Autowired
|
||||
// private ExecutorService taskExecutor;
|
||||
// @Autowired
|
||||
// private LoggerTemplate attendQuoteLoggerTemplate;
|
||||
//
|
||||
@Override
|
||||
public Map view(AttendQuoteDataQueryParam queryParam) {
|
||||
if (queryParam == null) {
|
||||
throw new SalaryRunTimeException("参数不能为空");
|
||||
}
|
||||
|
||||
Long id = queryParam.getAttendQuoteId();
|
||||
if (id == null) {
|
||||
throw new SalaryRunTimeException("考勤引用id不能为空");
|
||||
}
|
||||
// 考勤数据分页主数据
|
||||
List<AttendQuoteDataBaseDTO> attendQuoteDataBases = biz.list(queryParam);
|
||||
// 所有考勤字段
|
||||
List<AttendQuoteFieldPO> attendQuoteFields = getAllAttendQuoteFields();
|
||||
// 获取最终结果
|
||||
List<Map<String, Object>> listMaps = getListMaps(attendQuoteDataBases);
|
||||
|
||||
// Page<Map<String, Object>> listPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal(), page.isSearchCount());
|
||||
// listPage.setRecords(listMaps);
|
||||
//
|
||||
// WeaTable<LinkedHashMap> weaTable = FormatManager.<LinkedHashMap>getInstance()
|
||||
// .genTable(LinkedHashMap.class, listPage);
|
||||
// // 表格表头
|
||||
// List<WeaTableColumn> columns = new ArrayList<>();
|
||||
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 85429, "姓名"), "username", "150"));
|
||||
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86185, "部门"), "departmentName", "150"));
|
||||
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86186, "手机号"), "mobile", "150"));
|
||||
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86317, "工号"), "jobNum", "150"));
|
||||
// // 动态列
|
||||
// if (CollectionUtils.isNotEmpty(listMaps)) {
|
||||
// Map<String, Object> map = listMaps.get(0);
|
||||
// for (AttendQuoteFieldPO attendQuoteField : attendQuoteFields) {
|
||||
// if (map.containsKey(attendQuoteField.getId() + "_attendQuoteData")) {
|
||||
// columns.add(new WeaTableColumn(attendQuoteField.getFieldName(), attendQuoteField.getId() + "_attendQuoteData", "150"));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// weaTable.setColumns(columns);
|
||||
// weaTable.setModule("hrmsalary");
|
||||
//
|
||||
// return weaTable;
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有考勤字段
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private List<AttendQuoteFieldPO> getAllAttendQuoteFields() {
|
||||
return fieldBiz.listSome(AttendQuoteFieldPO.builder().build());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取考勤数据结果
|
||||
*
|
||||
* @param attendQuoteDataBases
|
||||
* @return
|
||||
*/
|
||||
private List<Map<String, Object>> getListMaps(List<AttendQuoteDataBaseDTO> attendQuoteDataBases) {
|
||||
if (CollectionUtils.isEmpty(attendQuoteDataBases)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
// 考核数据值
|
||||
List<AttendQuoteDataValuePO> attendQuoteDataValues = dataValueBiz.listSome(AttendQuoteDataValuePO.builder().attendQuoteId(attendQuoteDataBases.get(0).getAttendQuoteId()).build());
|
||||
|
||||
return attendQuoteDataBases.stream().map(m -> {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("id", m.getId());
|
||||
map.put("username", m.getUsername());
|
||||
map.put("departmentName", m.getDepartmentName());
|
||||
map.put("mobile", m.getMobile());
|
||||
map.put("jobNum", m.getJobNum());
|
||||
// 考勤数据
|
||||
attendQuoteDataValues.stream().filter(a -> a.getAttendQuoteDataId().equals(m.getId())).collect(Collectors.toList()).forEach(e -> {
|
||||
map.put(e.getAttendQuoteFieldId() + "_attendQuoteData", e.getDataValue());
|
||||
});
|
||||
return map;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
//
|
||||
// @Override
|
||||
// public List<AttendQuoteDataDTO> getAttendQuoteData(YearMonth salaryYearMonth, Long salarySobId, List<Long> employeeIds, String tenantKey) {
|
||||
// if (salaryYearMonth == null || salarySobId == null || com.weaver.teams.util.StringUtils.isEmpty(tenantKey)) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(tenantKey, UserContext.getCurrentEmployeeId(), 100358, "参数有误:薪资所属月、薪资账套id、租户key必传"));
|
||||
// }
|
||||
// List<AttendQuoteDataDTO> list = new ArrayList<>();
|
||||
// List<AttendQuotePO> attendQuotes = new LambdaQueryChainWrapper<>(attendQuoteMapper)
|
||||
// .eq(AttendQuotePO::getDeleteType, 0)
|
||||
// .eq(AttendQuotePO::getTenantKey, tenantKey)
|
||||
// .eq(AttendQuotePO::getSalaryYearMonth, salaryYearMonth.atDay(1))
|
||||
// .eq(AttendQuotePO::getSalarySobId, salarySobId).list();
|
||||
//
|
||||
// if (CollectionUtils.isEmpty(attendQuotes)) {
|
||||
// return Collections.emptyList();
|
||||
// }
|
||||
// AttendQuotePO attendQuote = attendQuotes.get(0);
|
||||
//
|
||||
// List<AttendQuoteDataValuePO> attendQuoteDataValues = new LambdaQueryChainWrapper<>(attendQuoteDataValueMapper)
|
||||
// .eq(AttendQuoteDataValuePO::getDeleteType, 0)
|
||||
// .eq(AttendQuoteDataValuePO::getTenantKey, tenantKey)
|
||||
// .eq(AttendQuoteDataValuePO::getAttendQuoteId, attendQuote.getId())
|
||||
// .in(CollectionUtils.isNotEmpty(employeeIds), AttendQuoteDataValuePO::getEmployeeId, employeeIds).list();
|
||||
//
|
||||
// if (CollectionUtils.isEmpty(employeeIds)) {
|
||||
// employeeIds = CollectionUtils.emptyIfNull(attendQuoteDataValues).stream().map(AttendQuoteDataValuePO::getEmployeeId)
|
||||
// .distinct().collect(Collectors.toList());
|
||||
// }
|
||||
//
|
||||
// employeeIds.forEach(e->{
|
||||
// AttendQuoteDataDTO attendQuoteData = new AttendQuoteDataDTO();
|
||||
// attendQuoteData.setEmployeeId(e);
|
||||
// List<AttendQuoteDataValueDTO> dataValues = attendQuoteDataValues.stream().filter(v->v.getEmployeeId().equals(e)).map(m->
|
||||
// AttendQuoteDataValueDTO.builder()
|
||||
// .attendQuoteFieldId(m.getAttendQuoteFieldId())
|
||||
// .dataValue(m.getDataValue())
|
||||
// .build()).collect(Collectors.toList());
|
||||
// attendQuoteData.setDataValues(dataValues);
|
||||
// list.add(attendQuoteData);
|
||||
// });
|
||||
// return list;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public Map<String, Object> export(AttendQuoteDataQueryParam queryParam, Long currentEmployeeId, String currentTenantKey) {
|
||||
// if (queryParam.getAttendQuoteId() == null) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 100253, "考勤引用id不能为空"));
|
||||
// }
|
||||
// // 构建异步导出参数
|
||||
// Map<String, Object> map = salaryBatchService.buildeExportParam("exportAttendQuoteData");
|
||||
//
|
||||
// String username = UserContext.getCurrentUser().getUsername();
|
||||
// String eteamsId = TenantRpcContext.getEteamsId();
|
||||
// taskExecutor.execute(() -> {
|
||||
// try {
|
||||
// DSTenantKeyThreadVar.tenantKey.set(currentTenantKey);
|
||||
//
|
||||
// List<ExcelSheetData> sheetList = new ArrayList<>();
|
||||
//
|
||||
// ExcelSheetData excelSheetData = new ExcelSheetData();
|
||||
//
|
||||
// // 考勤数据分页主数据
|
||||
// List<AttendQuoteDataBaseDTO> attendQuoteDataBases = mapper.list(queryParam, currentTenantKey);;
|
||||
// // 所有考勤字段
|
||||
// List<AttendQuoteFieldPO> attendQuoteFields = getAllAttendQuoteFields(currentTenantKey);
|
||||
// // 获取最终结果
|
||||
// List<Map<String, Object>> listMaps = getListMaps(attendQuoteDataBases, currentTenantKey);
|
||||
//
|
||||
// // 1.工作簿名称
|
||||
// String nameI18n = SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 93931, "考勤数据");
|
||||
// excelSheetData.setSheetName(nameI18n);
|
||||
// List<String> header = new ArrayList<>();
|
||||
// header.add(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85429, "姓名"));
|
||||
// header.add(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86185, "部门"));
|
||||
// header.add(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86186, "手机号"));
|
||||
// header.add(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86317, "工号"));
|
||||
// // 动态列
|
||||
// if (CollectionUtils.isNotEmpty(listMaps)) {
|
||||
// Map<String, Object> mapColumn = listMaps.get(0);
|
||||
// for (AttendQuoteFieldPO attendQuoteField : attendQuoteFields) {
|
||||
// if (mapColumn.containsKey(attendQuoteField.getId()+"_attendQuoteData")) {
|
||||
// header.add(attendQuoteField.getFieldName());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // 2.表头
|
||||
// excelSheetData.setHeaders(Collections.singletonList(header.toArray(new String[]{})));
|
||||
//
|
||||
// List<List<Object>> rows = new ArrayList<>();
|
||||
// for (Map<String, Object> dto : listMaps) {
|
||||
// List<Object> row = new ArrayList<>();
|
||||
// row.add(dto.get("username"));
|
||||
// row.add(dto.get("departmentName"));
|
||||
// row.add(dto.get("mobile"));
|
||||
// row.add(dto.get("jobNum"));
|
||||
//
|
||||
// // 动态列
|
||||
// Map<String, Object> mapColumn = listMaps.get(0);
|
||||
// for (AttendQuoteFieldPO attendQuoteField : attendQuoteFields) {
|
||||
// if (mapColumn.containsKey(attendQuoteField.getId()+"_attendQuoteData")) {
|
||||
// row.add(dto.get(attendQuoteField.getId().toString()+"_attendQuoteData"));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// rows.add(row);
|
||||
// }
|
||||
// // 3.表数据
|
||||
// excelSheetData.setRows(rows);
|
||||
//
|
||||
// sheetList.add(excelSheetData);
|
||||
//
|
||||
// salaryBatchService.simpleExportExcel(ExportExcelInfo.builder()
|
||||
// .bizId(map.get("biz").toString())
|
||||
// .flag(true)
|
||||
// .userId(currentEmployeeId)
|
||||
// .eteamsId(eteamsId)
|
||||
// .tenantKey(currentTenantKey)
|
||||
// .operator(username)
|
||||
// .module(map.get("module").toString())
|
||||
// .fileName(nameI18n + SalaryDateUtil.getFormatLocalDateTime(LocalDateTime.now()))
|
||||
// .handlerName(map.get("function").toString())
|
||||
// .dataType(nameI18n)
|
||||
// .function(map.get("function").toString()).build(), sheetList);
|
||||
// } finally {
|
||||
// DSTenantKeyThreadVar.tenantKey.remove();
|
||||
// }
|
||||
// });
|
||||
// return map;
|
||||
// }
|
||||
//
|
||||
// @BatchExportHandler("exportAttendQuoteData")
|
||||
// public void exportAttendQuoteDataHandler() {
|
||||
// BatchCallbackMessage message = BatchExportContext.getBatchCallbackMessage();
|
||||
// log.info("接受到考勤数据导出的结果:{}", JSONObject.toJSONString(message));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 获取表头设置字段
|
||||
// * @param sourceType
|
||||
// * @param currentEmployeeId
|
||||
// * @param currentTenantKey
|
||||
// * @return
|
||||
// */
|
||||
// private List<AttendQuoteFieldPO> getAttendQuoteSetFields(AttendQuoteSourceTypeEnum sourceType, Long currentEmployeeId, String currentTenantKey) {
|
||||
// List<AttendQuoteFieldPO> allAttendQuoteFields = getAllAttendQuoteFields(currentTenantKey);
|
||||
// List<AttendQuoteFieldSettingListDTO> attendQuoteFieldSettingList = attendQuoteFieldSettingService.listNoSync(AttendQuoteFieldSettingQueryParam.builder().sourceType(sourceType).isViewChecked(Boolean.TRUE).build(), currentEmployeeId, currentTenantKey);
|
||||
// List<AttendQuoteFieldPO> attendQuoteFields = new ArrayList<>();
|
||||
// attendQuoteFieldSettingList.forEach(s->{
|
||||
// List<AttendQuoteFieldSettingFieldListDTO> items = s.getItems();
|
||||
// CollectionUtils.emptyIfNull(items).forEach(i->{
|
||||
// Optional<AttendQuoteFieldPO> optional = allAttendQuoteFields.stream().filter(f->f.getId().equals(i.getId())).findFirst();
|
||||
// optional.ifPresent(attendQuoteFields::add);
|
||||
// });
|
||||
// });
|
||||
// return attendQuoteFields;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public WeaResult<String> syncAttendQuoteData(AttendQuoteDataSyncParam syncParam, Long currentEmployeeId, String currentTenantKey) {
|
||||
// WeaResult<String> checkResult = AttendQuoteDataSyncParam.checkParam(syncParam, currentEmployeeId, currentTenantKey);
|
||||
// if (checkResult.getCode() == WeaResultCodeEnum.ERROR.getCode()) {
|
||||
// return checkResult;
|
||||
// }
|
||||
// String salaryYearMonth = syncParam.getSalaryYearMonth();
|
||||
// int year = Integer.parseInt(salaryYearMonth.split("-")[0]);
|
||||
// int month = Integer.parseInt(salaryYearMonth.split("-")[1]);
|
||||
// if (!SalaryDateUtil.checkYearMonth(salaryYearMonth)) {
|
||||
// return WeaResult.fail(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 100365, "薪资所属月格式有误,正确格式示例为'2021-01'"));
|
||||
// }
|
||||
// // 1.获取已设置的可同步的考勤字段
|
||||
// List<AttendQuoteFieldPO> attendQuoteFields = getAttendQuoteSetFields(AttendQuoteSourceTypeEnum.QUOTE, currentEmployeeId, currentTenantKey);
|
||||
// if (CollectionUtils.isEmpty(attendQuoteFields)) {
|
||||
// return WeaResult.fail(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 100366, "请先设置同步字段"));
|
||||
// }
|
||||
// // 获取薪资账套
|
||||
// SalarySobCycleDTO salarySobCycle = salarySobService.getSalarySobCycle(syncParam.getSalarySobId(), YearMonth.of(year, month), currentTenantKey);
|
||||
// // 2.薪资账套人员
|
||||
// List<Long> employeeIds = new ArrayList<>();
|
||||
// // 获取薪资账套人员
|
||||
// List<SalarySobRangePO> salarySobRanges = new LambdaQueryChainWrapper<>(salarySobRangeMapper)
|
||||
// .eq(SalarySobRangePO::getTenantKey, currentTenantKey)
|
||||
// .eq(SalarySobRangePO::getDeleteType, 0)
|
||||
// .eq(SalarySobRangePO::getIncludeType, 1)
|
||||
// .eq(SalarySobRangePO::getSalarySobId, salarySobCycle.getSalarySobId())
|
||||
// .list();
|
||||
// List<SalarySobRangeEmpQueryParam> salarySobRangeEmpQueryParams = SalarySobRangeBO.convert2EmployeeQueryParam(salarySobRanges);
|
||||
// List<Long> employeeSalarySobIds = salarySobRangeMapper.listEmployeeIds(salarySobRangeEmpQueryParams, currentTenantKey);
|
||||
// if (CollectionUtils.isEmpty(employeeSalarySobIds) || CollectionUtils.isEmpty(salarySobRangeEmpQueryParams)) {
|
||||
// return WeaResult.fail(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 100367, "薪资账套还没有人员"));
|
||||
// }
|
||||
// // 账套外人员
|
||||
// List<Long> employeeOtherIds = (List<Long>) syncParam.getEmployeeIds();
|
||||
// employeeIds.addAll(employeeSalarySobIds);
|
||||
// employeeIds.addAll(CollectionUtils.emptyIfNull(employeeOtherIds));
|
||||
// // 3.考勤引用
|
||||
// AttendQuotePO attendQuote = getAttendQuote(AttendQuoteSourceTypeEnum.QUOTE, syncParam.getSalarySobId(), year, month, syncParam.getDescription(), currentEmployeeId, currentTenantKey);
|
||||
//
|
||||
// // 4.获取考勤模块数据
|
||||
// List<Map<String, Object>> attendQuoteSyncData = getAttendQuoteDataFromRemoteAttend(salarySobCycle.getAttendCycle(), employeeIds, attendQuoteFields, currentTenantKey);
|
||||
// List<AttendQuoteDataPO> pos = new ArrayList<>();
|
||||
// List<AttendQuoteDataValuePO> values = new ArrayList<>();
|
||||
// // 5.考勤引用数据处理
|
||||
// if (CollectionUtils.isNotEmpty(attendQuoteSyncData)) {
|
||||
// for (Long employeeId : employeeIds) {
|
||||
// AttendQuoteDataPO po = new AttendQuoteDataPO();
|
||||
// po.setId(IdGenerator.generate());
|
||||
// po.setCreateTime(LocalDateTime.now());
|
||||
// po.setUpdateTime(LocalDateTime.now());
|
||||
// po.setCreator(currentEmployeeId);
|
||||
// po.setTenantKey(currentTenantKey);
|
||||
// // 考勤引用表的主键id
|
||||
// po.setAttendQuoteId(attendQuote.getId());
|
||||
// po.setEmployeeId(employeeId);
|
||||
// pos.add(po);
|
||||
// for (Map<String, Object> attendQuoteData : attendQuoteSyncData) {
|
||||
// if (attendQuoteData.get("employeeId").toString().equals(employeeId.toString())) {
|
||||
// values.add(AttendQuoteDataValuePO.builder()
|
||||
// .id(IdGenerator.generate())
|
||||
// .createTime(LocalDateTime.now())
|
||||
// .updateTime(LocalDateTime.now())
|
||||
// .creator(currentEmployeeId)
|
||||
// .tenantKey(currentTenantKey)
|
||||
// .employeeId(employeeId)
|
||||
// .attendQuoteId(attendQuote.getId())
|
||||
// .attendQuoteDataId(po.getId())
|
||||
// .attendQuoteFieldId(Long.valueOf(attendQuoteData.get("attendQuoteFieldId").toString()))
|
||||
// .dataValue(attendQuoteData.get("dataValue") == null ? "" : attendQuoteData.get("dataValue").toString())
|
||||
// .build());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// return WeaResult.fail(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 100368, "暂无考勤数据可以同步"));
|
||||
// }
|
||||
// // 6.数据落库处理
|
||||
// handleDataToDB(attendQuote.getId(), pos, values, currentTenantKey);
|
||||
// // 记录日志
|
||||
// recordLog(attendQuote, currentEmployeeId, currentTenantKey, null);
|
||||
// return WeaResult.success(StringUtils.EMPTY);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 获取考勤引用
|
||||
// * @param salarySobId
|
||||
// * @param year
|
||||
// * @param month
|
||||
// * @param employeeId
|
||||
// * @param tenantKey
|
||||
// * @return
|
||||
// */
|
||||
// private AttendQuotePO getAttendQuote(AttendQuoteSourceTypeEnum sourceType, Long salarySobId, int year, int month, String description, Long employeeId, String tenantKey) {
|
||||
// SalarySobCycleDTO salarySobCycle = salarySobService.getSalarySobCycle(salarySobId, YearMonth.of(year, month), tenantKey);
|
||||
//
|
||||
// List<AttendQuotePO> attendQuotes = new LambdaQueryChainWrapper<>(attendQuoteMapper)
|
||||
// .eq(AttendQuotePO::getTenantKey, tenantKey)
|
||||
// .eq(AttendQuotePO::getDeleteType, 0)
|
||||
// .eq(AttendQuotePO::getSalarySobId, salarySobId)
|
||||
// .eq(AttendQuotePO::getSalaryYearMonth, LocalDate.of(year, month, 1))
|
||||
// .list();
|
||||
// // 考勤引用
|
||||
// AttendQuotePO attendQuote = new AttendQuotePO();
|
||||
// if (CollectionUtils.isNotEmpty(attendQuotes)) {
|
||||
// attendQuote = attendQuotes.get(0);
|
||||
// }
|
||||
// attendQuote.setSalarySobId(salarySobCycle.getSalarySobId());
|
||||
// LocalDateRange salaryCycleRange = salarySobCycle.getSalaryCycle();
|
||||
// LocalDateRange attendCycleRange = salarySobCycle.getAttendCycle();
|
||||
// // 考勤周期
|
||||
// attendQuote.setAttendCycle(attendCycleRange.getFromDate()+" ~ "+attendCycleRange.getEndDate());
|
||||
// // 薪资周期
|
||||
// attendQuote.setSalaryCycle(salaryCycleRange.getFromDate()+" ~ "+salaryCycleRange.getEndDate());
|
||||
// attendQuote.setSalaryYearMonth(LocalDate.of(year, month, 1));
|
||||
// // 来源:导入
|
||||
// attendQuote.setSourceType(sourceType.getValue());
|
||||
// attendQuote.setDescription(description);
|
||||
// attendQuote.setCreateTime(LocalDateTime.now());
|
||||
// attendQuote.setUpdateTime(LocalDateTime.now());
|
||||
// attendQuote.setCreator(employeeId);
|
||||
// attendQuote.setTenantKey(tenantKey);
|
||||
// // 新增或修改考勤引用
|
||||
// if (attendQuote.getId()!=null) {
|
||||
// attendQuoteMapper.updateById(attendQuote);
|
||||
// } else {
|
||||
// attendQuote.setId(IdGenerator.generate());
|
||||
// attendQuoteMapper.insert(attendQuote);
|
||||
// }
|
||||
// return attendQuote;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 获取考勤模块数据
|
||||
// * @param attendCycleRange
|
||||
// * @param employeeIds
|
||||
// * @param attendQuoteFields
|
||||
// * @param currentTenantKey
|
||||
// * @return
|
||||
// */
|
||||
// private List<Map<String, Object>> getAttendQuoteDataFromRemoteAttend(LocalDateRange attendCycleRange, List<Long> employeeIds, List<AttendQuoteFieldPO> attendQuoteFields, String currentTenantKey) {
|
||||
// List<Map<String, Object>> attendQuoteSyncData = new ArrayList<>();
|
||||
// Attend4Salary attend4Salary = new Attend4Salary();
|
||||
// try {
|
||||
// int partSize = 500;
|
||||
// List<List<Long>> partition = Lists.partition(employeeIds, partSize);
|
||||
// for (List<Long> part : partition) {
|
||||
// attend4Salary.setBeginDate(SalaryDateUtil.localDateToDate(attendCycleRange.getFromDate()));
|
||||
// attend4Salary.setEndDate(SalaryDateUtil.localDateToDate(attendCycleRange.getEndDate()));
|
||||
// attend4Salary.setTenantKey(currentTenantKey);
|
||||
// attend4Salary.setOnlyEmpIds(part);
|
||||
// attend4Salary.setPageSize(partSize);
|
||||
// attend4Salary.setUnit("hour");
|
||||
// WeaResult<Map<String, Object>> attendResult = remoteAttend4SalaryService.getWorkTimeSummary(attend4Salary, AttendQuoteDataBO.getCurrentUser4Remote());
|
||||
// log.info("考勤数据[按小时]:{}", JSONUtils.toJSONString(attendResult.getData()));
|
||||
// AttendQuoteDataBO.buildAttendDataFromRemote("hour", attendResult.getData(), attendQuoteFields, attendQuoteSyncData);
|
||||
// attend4Salary.setUnit("day");
|
||||
// attendResult = remoteAttend4SalaryService.getWorkTimeSummary(attend4Salary, AttendQuoteDataBO.getCurrentUser4Remote());
|
||||
// log.info("考勤数据[按天]:{}", JSONUtils.toJSONString(attendResult.getData()));
|
||||
// AttendQuoteDataBO.buildAttendDataFromRemote("day", attendResult.getData(), attendQuoteFields, attendQuoteSyncData);
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// log.error("获取考勤数据错误失败:{}", String.format("参数:%s,错误信息:%s", JSONObject.toJSONString(attend4Salary), e.getMessage()));
|
||||
// return attendQuoteSyncData;
|
||||
// }
|
||||
// return attendQuoteSyncData;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 引用同步或导入落库处理
|
||||
// * @param attendQuoteId
|
||||
// * @param pos
|
||||
// * @param values
|
||||
// * @param currentTenantKey
|
||||
// */
|
||||
// private void handleDataToDB(Long attendQuoteId, List<AttendQuoteDataPO> pos, List<AttendQuoteDataValuePO> values, String currentTenantKey) {
|
||||
// // 数据落库处理
|
||||
// if (CollectionUtils.isEmpty(pos)) {
|
||||
// return;
|
||||
// }
|
||||
// // 多条相同人的则以第一条为准,如果逆序排列(用于重复的则以最后一条为准)Collections.reverse(pos);
|
||||
// pos = pos.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getEmployeeId()))), ArrayList::new));
|
||||
// // 删除考勤数据
|
||||
// new LambdaUpdateChainWrapper<>(mapper)
|
||||
// .eq(AttendQuoteDataPO::getAttendQuoteId, attendQuoteId)
|
||||
// .eq(AttendQuoteDataPO::getDeleteType, 0)
|
||||
// .eq(AttendQuoteDataPO::getTenantKey, currentTenantKey)
|
||||
// .set(AttendQuoteDataPO::getDeleteType, 1)
|
||||
// .update();
|
||||
// // 新增考勤数据
|
||||
// mapper.insertData(pos, currentTenantKey);
|
||||
// // 删除考勤值数据
|
||||
// attendQuoteDataValueMapper.deleteByAttendQuoteDataIds(pos.stream().map(AttendQuoteDataPO::getId).collect(Collectors.toList()), currentTenantKey);
|
||||
// // 新增考勤值数据
|
||||
// if (CollectionUtils.isNotEmpty(values)) {
|
||||
// attendQuoteDataValueMapper.insertData(values, currentTenantKey);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public Map<String, Object> downloadTemplate(AttendQuoteDataExportTemplateParam exportParam, Long currentEmployeeId, String currentTenantKey) {
|
||||
// List<ExcelSheetData> sheetList = new ArrayList<>();
|
||||
// ExcelSheetData excelSheetData = new ExcelSheetData();
|
||||
// // 考勤主数据
|
||||
// AttendQuotePO po = new LambdaQueryChainWrapper<>(attendQuoteMapper)
|
||||
// .eq(AttendQuotePO::getDeleteType, 0)
|
||||
// .eq(AttendQuotePO::getTenantKey, currentTenantKey)
|
||||
// .in(CollectionUtils.isNotEmpty(exportParam.getIds()), AttendQuotePO::getId, exportParam.getIds())
|
||||
// .eq(AttendQuotePO::getSalaryYearMonth, exportParam.getSalaryYearMonth().atDay(1))
|
||||
// .eq(AttendQuotePO::getSalarySobId, exportParam.getSalarySobId()).one();
|
||||
// AttendQuoteDataQueryParam queryParam = AttendQuoteDataQueryParam.builder().attendQuoteId(po==null?0L:po.getId()).build();
|
||||
// List<AttendQuoteDataBaseDTO> attendQuoteDataBases = mapper.list(queryParam, currentTenantKey);;
|
||||
// // 获取已设置的可同步的字段
|
||||
// List<AttendQuoteFieldPO> attendQuoteFields = getAttendQuoteSetFields(AttendQuoteSourceTypeEnum.IMPORT, currentEmployeeId, currentTenantKey);
|
||||
// // 获取最终结果
|
||||
// List<Map<String, Object>> listMaps = getListMaps(attendQuoteDataBases, currentTenantKey);
|
||||
//
|
||||
// // 1.工作簿名称
|
||||
// String nameI18n = SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 101606, "考勤引用导入模板");
|
||||
// excelSheetData.setSheetName(nameI18n);
|
||||
// List<String> header = new ArrayList<>();
|
||||
// header.add(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85429, "姓名"));
|
||||
// header.add(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86185, "部门"));
|
||||
// header.add(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86186, "手机号"));
|
||||
// header.add(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86317, "工号"));
|
||||
// // 动态列
|
||||
// for (AttendQuoteFieldPO attendQuoteField : attendQuoteFields) {
|
||||
// header.add(attendQuoteField.getFieldName());
|
||||
// }
|
||||
// // 2.表头
|
||||
// excelSheetData.setHeaders(Collections.singletonList(header.toArray(new String[]{})));
|
||||
//
|
||||
// List<List<Object>> rows = new ArrayList<>();
|
||||
// for (Map<String, Object> dto : listMaps) {
|
||||
// List<Object> row = new ArrayList<>();
|
||||
// row.add(dto.get("username"));
|
||||
// row.add(dto.get("departmentName"));
|
||||
// row.add(dto.get("mobile"));
|
||||
// row.add(dto.get("jobNum"));
|
||||
//
|
||||
// // 动态列
|
||||
// Map<String, Object> map = listMaps.get(0);
|
||||
// for (AttendQuoteFieldPO attendQuoteField : attendQuoteFields) {
|
||||
// row.add(map.containsKey(attendQuoteField.getId()+"_attendQuoteData")?dto.get(attendQuoteField.getId()+"_attendQuoteData"):"");
|
||||
// }
|
||||
//
|
||||
// rows.add(row);
|
||||
// }
|
||||
// // 3.表数据
|
||||
// excelSheetData.setRows(rows);
|
||||
// // 4.注释
|
||||
// List<ExcelComment> excelComments = Lists.newArrayList();
|
||||
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 100344, "必填"), 0, 0, 0, 0);
|
||||
// if (CollectionUtils.isNotEmpty(attendQuoteFields)) {
|
||||
// for (int i=4; i<attendQuoteFields.size()+4; i++) {
|
||||
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 100343, "输入数字"), 0, 0, i, i);
|
||||
// }
|
||||
// }
|
||||
// excelSheetData.setExcelComment(excelComments);
|
||||
//
|
||||
// sheetList.add(excelSheetData);
|
||||
//
|
||||
// return salaryBatchService.simpleExportExcel(ExportExcelInfo.builder()
|
||||
// .fileName(nameI18n+"-"+SalaryDateUtil.getFormatLocalDateTime(LocalDateTime.now()))
|
||||
// .handlerName("exportAttendQuoteData")
|
||||
// .dataType(nameI18n)
|
||||
// .function("exportAttendQuoteData").build(), sheetList);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导入考核数据
|
||||
// */
|
||||
// @BatchImportHandler("importAttendQuoteData")
|
||||
// public void importAttendQuoteData() {
|
||||
// BatchDocumentMessage message = BatchImportContext.getBatchDocumentMessage();
|
||||
// log.info("【考勤引用数据】接收到上传的数据:{}", JSONObject.toJSONString(message));
|
||||
// // 租户key
|
||||
// String tenantKey = message.getTenantKey().toLowerCase();
|
||||
// try {
|
||||
// // 加密用
|
||||
// DSTenantKeyThreadVar.tenantKey.set(tenantKey);
|
||||
// // 接收到解析的数据
|
||||
// batchImportEbatch(message);
|
||||
// } catch (Exception e) {
|
||||
// log.error("【考勤引用数据】导入失败:{}", String.format("BatchTaskId=%s,错误信息=%s", message.getBatchTaskId(), e.getMessage()));
|
||||
// } finally {
|
||||
// // 加密用
|
||||
// DSTenantKeyThreadVar.tenantKey.remove();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导入的数据插入到数据库中
|
||||
// * @param message
|
||||
// * @throws ParseException
|
||||
// */
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public void batchImportEbatch(BatchDocumentMessage message) {
|
||||
// List<ExcelSheet> excelSheets = message.getBatchFile().getExcelSheets();
|
||||
//
|
||||
// // 租户key
|
||||
// String tenantKey = message.getTenantKey().toLowerCase();
|
||||
// Long currentEmployeeId = message.getUserId();
|
||||
// // 加密用
|
||||
// DSTenantKeyThreadVar.tenantKey.set(tenantKey);
|
||||
// String paramsData = message.getUploadSet().getCustomData();
|
||||
// Map<String, Object> params = JSONObject.parseObject(paramsData, Map.class);
|
||||
//
|
||||
// // 参数校验
|
||||
// boolean isValid = checkParams(message, params);
|
||||
// if (!isValid) {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// String salaryYearMonth = params.get("salaryYearMonth").toString();
|
||||
// int year = Integer.parseInt(salaryYearMonth.split("-")[0]);
|
||||
// int month = Integer.parseInt(salaryYearMonth.split("-")[1]);
|
||||
//
|
||||
// // 获取租户下所有的人员
|
||||
// List<DataCollectionEmployeePO> employees = attendQuoteMapper.listEmployee(tenantKey);
|
||||
// // 获取已设置的可同步的考勤字段
|
||||
// List<AttendQuoteFieldPO> attendQuoteFields = getAttendQuoteSetFields(AttendQuoteSourceTypeEnum.IMPORT, currentEmployeeId, tenantKey);
|
||||
// // 获取考勤引用
|
||||
// AttendQuotePO attendQuote = getAttendQuote(AttendQuoteSourceTypeEnum.IMPORT, Long.valueOf(params.get("salarySobId").toString()), year, month, StringUtils.EMPTY, message.getUserId(), tenantKey);
|
||||
//
|
||||
// int total = 0;
|
||||
// for (ExcelSheet excelSheet : excelSheets) {
|
||||
// List<Map<String, Object>> data = excelSheet.getData();
|
||||
// if (data != null) {
|
||||
// total += data.size();
|
||||
// }
|
||||
// }
|
||||
// int index = 0;
|
||||
// int successCount = 0;
|
||||
// int errorCount = 0;
|
||||
// // 错误excel内容
|
||||
// List<ExcelSheet> errorExcelSheets = new ArrayList<>();
|
||||
// // 待导入数据
|
||||
// List<AttendQuoteDataPO> pos = new ArrayList<>();
|
||||
// List<AttendQuoteDataValuePO> values = new ArrayList<>();
|
||||
// String valI18n = SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 100581, "请输入数字");
|
||||
// for (ExcelSheet excelSheet : excelSheets) {
|
||||
// if (excelSheet.getHeader().size() == 0) {
|
||||
// continue;
|
||||
// }
|
||||
// List<Map> headers = excelSheet.getHeader();
|
||||
// boolean isValidHeader = checkHeaders(message, headers, attendQuoteFields);
|
||||
// if (!isValidHeader) {
|
||||
// return;
|
||||
// }
|
||||
// // 错误sheet数据
|
||||
// List<Map<String,Object>> errorData = new ArrayList<>();
|
||||
// // 错误提示
|
||||
// List<ExcelComment> excelComments = new ArrayList<>();
|
||||
//
|
||||
// List<Map<String, Object>> data = excelSheet.getData();
|
||||
// Map<String, Object> map;
|
||||
// if (data == null) {
|
||||
// continue;
|
||||
// }
|
||||
// AttendQuoteDataPO po;
|
||||
// for (int i = 0; i < data.size(); i++) {
|
||||
// index += 1;
|
||||
// map = data.get(i);
|
||||
//
|
||||
// po = new AttendQuoteDataPO();
|
||||
// po.setId(IdGenerator.generate());
|
||||
// po.setCreateTime(LocalDateTime.now());
|
||||
// po.setUpdateTime(LocalDateTime.now());
|
||||
// po.setCreator(message.getUserId());
|
||||
// po.setTenantKey(tenantKey);
|
||||
// // 考勤引用表的主键id
|
||||
// po.setAttendQuoteId(attendQuote.getId());
|
||||
//
|
||||
// int errorSum = 0;
|
||||
//
|
||||
// String userName = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 85429, "姓名"))).orElse("").toString();
|
||||
// String deparmentName = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 86185, "部门"))).orElse("").toString();
|
||||
// List<Long> employeeSameIds = employees.stream().filter(e -> (com.weaver.teams.util.StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName))
|
||||
// && (com.weaver.teams.util.StringUtils.isBlank(deparmentName) || Objects.equals(e.getDeparmentName(), deparmentName))).map(DataCollectionEmployeePO::getEmployeeId)
|
||||
// .collect(Collectors.toList());
|
||||
//
|
||||
// for (int j = 0; j < headers.size(); j++) {
|
||||
// Map header = headers.get(j);
|
||||
// Object key = header.get("key");
|
||||
// if (key == null) {
|
||||
// continue;
|
||||
// }
|
||||
// String cellVal = Optional.ofNullable(map.get(key.toString())).orElse("").toString();
|
||||
// if (SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 85429, "姓名").equals(key.toString())) {
|
||||
// if (com.weaver.teams.util.StringUtils.isEmpty(cellVal)) {
|
||||
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 100577, "不能为空"), errorCount+1, errorCount+1, j, j);
|
||||
// errorSum += 1;
|
||||
// } else if (CollectionUtils.isEmpty(employeeSameIds) || employeeSameIds.size() > 1) {
|
||||
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 100578, "员工信息不能为空且不可重复(姓名与部门同时确认唯一)"), errorCount+1, errorCount+1, j, j);
|
||||
// errorSum += 1;
|
||||
// } else {
|
||||
// Long employeeId = CollectionUtils.isNotEmpty(employeeSameIds) && employeeSameIds.size() == 1?employeeSameIds.get(0):null;
|
||||
// if (employeeId!=null && employeeId>0) {
|
||||
// po.setEmployeeId(employeeId);
|
||||
// } else {
|
||||
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 100579, "姓名错误,系统内不存在该姓名"), errorCount+1, errorCount+1, j, j);
|
||||
// errorSum += 1;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// String bigDecimalValue;
|
||||
// for (AttendQuoteFieldPO attendQuoteField : attendQuoteFields) {
|
||||
// if (attendQuoteField.getFieldName().equals(key.toString())) {
|
||||
// bigDecimalValue = bigDecimalVal(cellVal, excelComments, valI18n, errorCount+1, j);
|
||||
// errorSum += StringUtils.isEmpty(bigDecimalValue)?1:0;
|
||||
// if (StringUtils.isNotEmpty(bigDecimalValue)) {
|
||||
// values.add(AttendQuoteDataValuePO.builder()
|
||||
// .id(IdGenerator.generate())
|
||||
// .createTime(LocalDateTime.now())
|
||||
// .updateTime(LocalDateTime.now())
|
||||
// .creator(message.getUserId())
|
||||
// .tenantKey(tenantKey)
|
||||
// .employeeId(po.getEmployeeId())
|
||||
// .attendQuoteId(attendQuote.getId())
|
||||
// .attendQuoteDataId(po.getId())
|
||||
// .attendQuoteFieldId(attendQuoteField.getId())
|
||||
// .dataValue(cellVal)
|
||||
// .build());
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (errorSum>0) {
|
||||
// errorCount += 1;
|
||||
// // 添加错误数据
|
||||
// errorData.add(map);
|
||||
// } else {
|
||||
// successCount += 1;
|
||||
// // 成功一条就添加一条记录
|
||||
// pos.add(po);
|
||||
// }
|
||||
// // 导入进度
|
||||
// salaryBatchService.sendImportRate(message.getBizId(), total, index);
|
||||
// }
|
||||
//
|
||||
// // 如果sheet包含错误数据
|
||||
// if (CollectionUtils.isNotEmpty(errorData)) {
|
||||
// salaryBatchService.createErrorExcelSheet(headers, errorData, excelSheet.getName(), excelComments, errorExcelSheets);
|
||||
// }
|
||||
// }
|
||||
// // 数据入库处理
|
||||
// log.info("【考勤引用数据】导入记录:{}", JsonUtil.toJsonString(pos));
|
||||
// handleDataToDB(attendQuote.getId(), pos, values, tenantKey);
|
||||
// // 记录日志
|
||||
// recordLog(attendQuote, message.getUserId(), message.getTenantKey(), message.getClientIp());
|
||||
// // 发送导入回调信息
|
||||
// salaryBatchService.sendImportCallBackInfo(message, successCount, errorCount, errorExcelSheets);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 获取金额数字值
|
||||
// * @param bigDecimalValStr
|
||||
// * @param excelComments
|
||||
// * @param i
|
||||
// * @param j
|
||||
// * @return
|
||||
// */
|
||||
// private String bigDecimalVal(String bigDecimalValStr, List<ExcelComment> excelComments, String valI18n, int i, int j) {
|
||||
// BigDecimal bigDecimalVal = null;
|
||||
// try {
|
||||
// bigDecimalVal = new BigDecimal(bigDecimalValStr);
|
||||
// } catch (Exception e) {
|
||||
// salaryBatchService.createExcelComment(excelComments, valI18n, i, i, j, j);
|
||||
// }
|
||||
// return bigDecimalVal == null? "" : bigDecimalVal.toString();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 记录日志
|
||||
// * @param attendQuote
|
||||
// * @param currentEmployeeId
|
||||
// * @param currentTenantKey
|
||||
// * @param clientIp
|
||||
// */
|
||||
// private void recordLog(AttendQuotePO attendQuote, Long currentEmployeeId, String currentTenantKey, String clientIp) {
|
||||
// List<SalarySobPO> salarySobs = new LambdaQueryChainWrapper<>(salarySobMapper)
|
||||
// .eq(SalarySobPO::getTenantKey, TenantContext.getCurrentTenantKey())
|
||||
// .eq(SalarySobPO::getDeleteType, 0)
|
||||
// .eq(SalarySobPO::getId, attendQuote.getSalarySobId())
|
||||
// .list();
|
||||
// String sourceType = AttendQuoteSourceTypeEnum.getDefaultLabelByValue(attendQuote.getSourceType(), currentEmployeeId, currentTenantKey);
|
||||
//
|
||||
// LoggerContext loggerContext = new LoggerContext();
|
||||
// loggerContext.setTargetId(String.valueOf(attendQuote.getId()));
|
||||
// loggerContext.setTargetName(SalaryDateUtil.getFormatYearMonth(attendQuote.getSalaryYearMonth())+" "+(CollectionUtils.isNotEmpty(salarySobs)?salarySobs.get(0).getName():""));
|
||||
// loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
|
||||
// loggerContext.setOperateTypeName(sourceType+SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 93931, "考勤数据"));
|
||||
// loggerContext.setOperatedesc(sourceType+SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 93931, "考勤数据"));
|
||||
// loggerContext.setNewValues(attendQuote);
|
||||
// loggerContext.setTenant_key(currentTenantKey);
|
||||
// loggerContext.setOperator(currentEmployeeId.toString());
|
||||
// if (StringUtils.isNotEmpty(clientIp)) {
|
||||
// loggerContext.setClientIp(clientIp);
|
||||
// }
|
||||
// attendQuoteLoggerTemplate.write(loggerContext);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 检查参数
|
||||
// * @param message
|
||||
// * @param params
|
||||
// * @return
|
||||
// */
|
||||
// private boolean checkParams(BatchDocumentMessage message, Map<String, Object> params) {
|
||||
// boolean isValid = true;
|
||||
// String errorMsg = "";
|
||||
// if (params == null) {
|
||||
// errorMsg = SalaryI18nUtil.getI18nLabel(message.getTenantKey(), message.getUserId(), 100582, "参数必传");
|
||||
// } else {
|
||||
// if (!params.containsKey("salaryYearMonth")
|
||||
// || !params.containsKey("salarySobId")
|
||||
// || params.get("salaryYearMonth") == null
|
||||
// || params.get("salarySobId") == null) {
|
||||
// errorMsg = SalaryI18nUtil.getI18nLabel(message.getTenantKey(), message.getUserId(), 100588, "薪资所属月和薪资账套必传");
|
||||
// } else {
|
||||
// String salaryYearMonth = params.get("salaryYearMonth").toString();
|
||||
// if (!SalaryDateUtil.checkYearMonth(salaryYearMonth)) {
|
||||
// errorMsg = SalaryI18nUtil.getI18nLabel(message.getTenantKey(), message.getUserId(), 100365, "薪资所属月格式有误,正确格式示例为'2021-01'");
|
||||
// } else {
|
||||
// List<SalarySobPO> salarySobs = new LambdaQueryChainWrapper<>(salarySobMapper)
|
||||
// .eq(SalarySobPO::getTenantKey, message.getTenantKey())
|
||||
// .eq(SalarySobPO::getDeleteType, 0)
|
||||
// .eq(SalarySobPO::getId, Long.valueOf(params.get("salarySobId").toString()))
|
||||
// .list();
|
||||
// if (CollectionUtils.isEmpty(salarySobs)) {
|
||||
// errorMsg = SalaryI18nUtil.getI18nLabel(message.getTenantKey(), message.getUserId(), 100537, "薪资账套不存在");
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// // 有错误信息发送
|
||||
// if (StringUtils.isNotEmpty(errorMsg)) {
|
||||
// // 发送导入回调信息
|
||||
// salaryBatchService.sendImportCallBackInfo(message, errorMsg);
|
||||
// isValid = false;
|
||||
// }
|
||||
// return isValid;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 检查列头
|
||||
// * @param message
|
||||
// * @param headers
|
||||
// * @param attendQuoteFields
|
||||
// * @return
|
||||
// */
|
||||
// private boolean checkHeaders(BatchDocumentMessage message, List<Map> headers, List<AttendQuoteFieldPO> attendQuoteFields) {
|
||||
// boolean isValid = true;
|
||||
//
|
||||
// String tenantKey = message.getTenantKey();
|
||||
// Long currentEmployeeId = message.getUserId();
|
||||
// String userNameI18n = SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 85429, "姓名");
|
||||
//
|
||||
// List<String> headerList = headers.stream().map(m->m.getOrDefault("key", "").toString()).collect(Collectors.toList());
|
||||
//
|
||||
// List<String> mustHeaders = CollectionUtils.emptyIfNull(attendQuoteFields).stream().map(AttendQuoteFieldPO::getFieldName).collect(Collectors.toList());
|
||||
// mustHeaders.add(userNameI18n);
|
||||
//
|
||||
// // 缺少的必须列
|
||||
// List<String> lackHeaders = mustHeaders.stream().filter(item -> !headerList.contains(item)).collect(Collectors.toList());
|
||||
//
|
||||
// String errorMsg = "";
|
||||
// String checkHeaderI18n = SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 101850, "缺少如下列,请检查:");
|
||||
// if (CollectionUtils.isEmpty(attendQuoteFields)) {
|
||||
// errorMsg = SalaryI18nUtil.getI18nLabel(tenantKey, currentEmployeeId, 101849, "考勤字段列缺失,请补充");
|
||||
// } else if (CollectionUtils.isNotEmpty(lackHeaders)) {
|
||||
// errorMsg = checkHeaderI18n + Joiner.on(",").join(lackHeaders);
|
||||
// }
|
||||
// // 有错误信息发送
|
||||
// if (com.weaver.teams.util.StringUtils.isNotEmpty(errorMsg)) {
|
||||
// // 发送导入回调信息
|
||||
// salaryBatchService.sendImportCallBackInfo(message, errorMsg);
|
||||
// isValid = false;
|
||||
// }
|
||||
// return isValid;
|
||||
// }
|
||||
}
|
||||
|
|
@ -207,6 +207,9 @@ public class AttendQuoteFieldSettingServiceImpl extends Service implements Atten
|
|||
@Override
|
||||
public String save(AttendQuoteFieldSettingSaveParam saveParam) {
|
||||
|
||||
if (saveParam == null) {
|
||||
throw new SalaryRunTimeException("参数异常");
|
||||
}
|
||||
if (CollectionUtils.isEmpty(saveParam.getCurrentSettingFields())) {
|
||||
throw new SalaryRunTimeException("字段不能为空");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.engine.salary.service.impl;
|
|||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.biz.AttendQuoteBiz;
|
||||
import com.engine.salary.biz.AttendQuoteDataBiz;
|
||||
import com.engine.salary.biz.AttendQuoteDataValueBiz;
|
||||
import com.engine.salary.cmd.datacollection.AttendQuoteListCmd;
|
||||
import com.engine.salary.entity.datacollection.dto.AttendQuoteListDTO;
|
||||
import com.engine.salary.entity.datacollection.param.AttendQuoteDataQueryParam;
|
||||
|
|
@ -19,8 +20,9 @@ import java.util.stream.Collectors;
|
|||
|
||||
public class AttendQuoteServiceImpl extends Service implements AttendQuoteService {
|
||||
|
||||
AttendQuoteBiz biz = new AttendQuoteBiz();
|
||||
AttendQuoteDataBiz dataBiz = new AttendQuoteDataBiz();
|
||||
private AttendQuoteBiz biz = new AttendQuoteBiz();
|
||||
private AttendQuoteDataBiz dataBiz = new AttendQuoteDataBiz();
|
||||
private AttendQuoteDataValueBiz dataValueBiz = new AttendQuoteDataValueBiz();
|
||||
|
||||
@Override
|
||||
public Map<String, Object> list(Map<String, Object> params) {
|
||||
|
|
@ -50,8 +52,8 @@ public class AttendQuoteServiceImpl extends Service implements AttendQuoteServic
|
|||
dataBiz.deleteByAttendQuoteIds(unAccountingIds);
|
||||
|
||||
// 3.删除考核数据对应的考核值
|
||||
// List<Long> attendQuoteDataIds = attendQuoteDatas.stream().map(AttendQuoteDataPO::getId).collect(Collectors.toList());
|
||||
// attendQuoteDataValueMapper.deleteByAttendQuoteDataIds(CollectionUtils.isEmpty(attendQuoteDataIds) ? Collections.singletonList(0L) : attendQuoteDataIds, tenantKey);
|
||||
List<Long> attendQuoteDataIds = attendQuoteDatas.stream().map(AttendQuoteDataPO::getId).collect(Collectors.toList());
|
||||
dataValueBiz.deleteByAttendQuoteDataIds(attendQuoteDataIds);
|
||||
|
||||
//todo 日志
|
||||
// attendQuotes.forEach(e -> {
|
||||
|
|
|
|||
|
|
@ -5,9 +5,11 @@ import com.engine.common.util.ServiceUtil;
|
|||
import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldSettingListDTO;
|
||||
import com.engine.salary.entity.datacollection.param.*;
|
||||
import com.engine.salary.entity.datacollection.po.AttendQuoteFieldPO;
|
||||
import com.engine.salary.service.AttendQuoteDataService;
|
||||
import com.engine.salary.service.AttendQuoteFieldService;
|
||||
import com.engine.salary.service.AttendQuoteFieldSettingService;
|
||||
import com.engine.salary.service.AttendQuoteService;
|
||||
import com.engine.salary.service.impl.AttendQuoteDataServiceImpl;
|
||||
import com.engine.salary.service.impl.AttendQuoteFieldServiceImpl;
|
||||
import com.engine.salary.service.impl.AttendQuoteFieldSettingServiceImpl;
|
||||
import com.engine.salary.service.impl.AttendQuoteServiceImpl;
|
||||
|
|
@ -35,6 +37,10 @@ public class AttendQuoteController {
|
|||
return (AttendQuoteService) ServiceUtil.getService(AttendQuoteServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private AttendQuoteDataService getDataService(User user) {
|
||||
return (AttendQuoteDataService) ServiceUtil.getService(AttendQuoteDataServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private AttendQuoteFieldService getFieldService(User user) {
|
||||
return (AttendQuoteFieldService) ServiceUtil.getService(AttendQuoteFieldServiceImpl.class, user);
|
||||
}
|
||||
|
|
@ -134,39 +140,34 @@ public class AttendQuoteController {
|
|||
// null));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 查看考勤数据
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/view")
|
||||
// @ApiOperation("查看")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaTable<LinkedHashMap>> view(@RequestBody AttendQuoteDataQueryParam queryParam) {
|
||||
// String currentTenantKey = TenantContext.getCurrentTenantKey();
|
||||
// Long currentEmployeeId = UserContext.getCurrentEmployeeId();
|
||||
// if (queryParam.getAttendQuoteId() == null) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), 100253, "考勤引用id不能为空"));
|
||||
// }
|
||||
// return WeaResult.success(attendQuoteDataService.view(queryParam, currentEmployeeId, currentTenantKey));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 删除考勤数据
|
||||
// * @param ids
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/delete")
|
||||
// @ApiOperation("删除")
|
||||
// @WeaPermission
|
||||
// public WeaResult<String> delete(@RequestBody Collection<Long> ids) {
|
||||
// String currentTenantKey = TenantContext.getCurrentTenantKey();
|
||||
// Long currentEmployeeId = UserContext.getCurrentEmployeeId();
|
||||
// if (CollectionUtils.isEmpty(ids)) {
|
||||
// return WeaResult.fail(SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 84026, "参数错误"));
|
||||
// }
|
||||
// return service.delete(ids, currentEmployeeId, currentTenantKey);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 查看考勤数据
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/view")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String view(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AttendQuoteDataQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<AttendQuoteDataQueryParam, Map<String, Object>>().run(getDataService(user)::view, queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除考勤数据
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/delete")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String delete(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection<Long> ids) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<Collection<Long>, String>().run(getService(user)::delete, ids);
|
||||
}
|
||||
//
|
||||
// /**
|
||||
// * 导出考勤数据
|
||||
|
|
|
|||
Loading…
Reference in New Issue