Merge branch 'release/2.16.1.2410.01' into feature/权限

This commit is contained in:
钱涛 2024-10-25 09:34:45 +08:00
commit c3e7037667
9 changed files with 38 additions and 11 deletions

Binary file not shown.

View File

@ -5,6 +5,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Set;
@ -78,4 +79,6 @@ public interface SalaryAcctRecordMapper {
void updateLockSalaryItemIds(SalaryAcctRecordPO salaryAcctRecord);
List<SalaryAcctRecordPO> getBackCalcRecordByIds(@Param("collection") Set<Long> salaryAcctIds);
void updateDate(@Param("id")Long id, @Param("updateTime")Date updateTime);
}

View File

@ -442,4 +442,11 @@
WHERE id = #{id} AND delete_type = 0
</update>
<update id="updateDate">
UPDATE hrsa_salary_acct_record
SET update_time=#{updateTime}
WHERE delete_type = 0
AND id = #{id}
</update>
</mapper>

View File

@ -34,7 +34,6 @@ import com.engine.salary.util.page.SalaryPageUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@ -437,14 +436,11 @@ public class SalaryStatisticsReportWrapper extends Service {
// 获取列头
List<WeaTableColumnGroup> weaTableColumns = (List<WeaTableColumnGroup>) result.get("columns");
PageInfo<Map<String, Object>> page = (PageInfo<Map<String, Object>>) result.get("pageInfo");
// 组装合计
Map<String, Object> countResultMap = SalaryStatisticsReportBO.buildTotal(page, salaryStatisticsItemList, (long) user.getUID());
Map<String, Object> countResultMap = (Map<String, Object>) result.get("countResult");
List<Map<String, Object>> list = page.getList();
if (CollectionUtils.isNotEmpty(list) && MapUtils.isNotEmpty(countResultMap)) {
list.add(countResultMap);
}
// 获取数据
List<Map<String, String>> records = list.stream().map(m -> m.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue() + StringUtils.EMPTY))).collect(Collectors.toList());
List<Map<String, Object>> records = list.stream().map(m -> m.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue()))).collect(Collectors.toList());
records.add(countResultMap);
List rows = new ArrayList<>();
rows.add(weaTableColumns);
@ -466,7 +462,7 @@ public class SalaryStatisticsReportWrapper extends Service {
List<String> numberItemIds = salaryItemPOList.stream().filter(item -> item.getDataType().equals(SalaryDataTypeEnum.NUMBER.getValue())).map(salaryItemPO -> salaryItemPO.getId().toString()).collect(Collectors.toList());
Map<String, SalaryStatisticsItemPO> salaryStatisticsItemMap = SalaryEntityUtil.convert2Map(salaryStatisticsItemList, statisticsItemPO -> statisticsItemPO.getId().toString());
for (Map<String, String> map : records) {
for (Map<String, Object> map : records) {
List<Object> row = Lists.newArrayListWithExpectedSize(records.size());
head.forEach(k -> {
// 获取是数值还是文本
@ -476,7 +472,7 @@ public class SalaryStatisticsReportWrapper extends Service {
SalaryStatisticsItemPO salaryStatisticsItemPO = salaryStatisticsItemMap.get(salaryItemId);
if (salaryStatisticsItemPO != null) {
Optional<String> textItemOptional = Arrays.stream(salaryStatisticsItemPO.getItemValue().split(",")).filter(itemId -> !numberItemIds.contains(itemId)).findFirst();
row.add((!textItemOptional.isPresent() && NumberUtils.isCreatable(map.getOrDefault(k, StringUtils.EMPTY).replace(",", ""))) ? new BigDecimal(map.get(k).replace(",", "")) : map.getOrDefault(k, StringUtils.EMPTY));
row.add((!textItemOptional.isPresent() && NumberUtils.isCreatable(Utils.null2String(map.get(k)))) ? new BigDecimal(Utils.null2String(map.get(k))) : map.getOrDefault(k, StringUtils.EMPTY));
} else {
row.add(map.getOrDefault(k, StringUtils.EMPTY));
}

View File

@ -10,6 +10,7 @@ import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
import com.engine.salary.util.page.PageInfo;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Set;
@ -207,4 +208,6 @@ public interface SalaryAcctRecordService {
List<SalaryAcctRecordPO> listSome(SalaryAcctRecordPO po);
void updateDate(Long id, Date updateTime);
}

View File

@ -68,6 +68,7 @@ import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.BeanUtils;
import org.springframework.util.StopWatch;
import weaver.file.ImageFileManager;
import weaver.hrm.User;
@ -1401,11 +1402,18 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
deleteResults = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, excelSalaryItemIds);
getSalaryAcctResultService(user).deleteByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, excelSalaryItemIds);
//删除报表
getSalaryAcctReportService(user).deleteByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, excelSalaryItemIds);
// getSalaryAcctReportService(user).deleteByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, excelSalaryItemIds);
}
if (CollectionUtils.isNotEmpty(salaryAcctResults)) {
// 处理导入薪资项的回算值
handleOriginResultValue(deleteResults, salaryAcctResults);
// 备份一份加密前的值
List<SalaryAcctResultPO> list4log = new ArrayList<>();
salaryAcctResults.forEach(source -> {
SalaryAcctResultPO target = new SalaryAcctResultPO();
BeanUtils.copyProperties(source, target);
list4log.add(target);
});
getSalaryAcctResultService(user).batchSave(salaryAcctResults);
// 记录操作日志
@ -1418,6 +1426,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
loggerContext.setOperateType(OperateTypeEnum.EXCEL_IMPORT.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "导入薪资核算数据"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "导入薪资核算数据 ") + targetName);
loggerContext.setOldValueList(list4log);
SalaryElogConfig.salaryAcctRecordLoggerTemplate.write(loggerContext);
// //报表

View File

@ -790,4 +790,9 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
public List<SalaryAcctRecordPO> listSome(SalaryAcctRecordPO po) {
return getSalaryAcctRecordMapper().listSome(po);
}
@Override
public void updateDate(Long id, Date updateTime) {
getSalaryAcctRecordMapper().updateDate(id,updateTime);
}
}

View File

@ -906,6 +906,9 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
// Thread.sleep(10);
getSalaryAcctProgressService(user).finish(SalaryCacheKey.ACCT_PROGRESS + calculateParam.getSalaryAcctRecordId(), true);
//更新薪资核算记录最后操作日期
getSalaryAcctRecordService(user).updateDate(salaryAcctRecordPO.getId(),new Date());
stopWatch.stop();
log.info(stopWatch.prettyPrint());

View File

@ -38,6 +38,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.*;
@ -452,7 +453,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
String field = setting.getField();
String value = rs.getString(field);
setting.setValue(value);
extendData.put(field, value);
extendData.put(field, Util.formatMultiLang(value));
});
String id = rs.getString(primaryKey);