From 980dc2f5325e21f31d3bb927ccf87bde7cd168e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 15 Aug 2024 16:25:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/salaryitem/SalaryItemMapper.java | 1 + .../mapper/salaryitem/SalaryItemMapper.xml | 7 ++ .../salary/service/SalaryItemService.java | 1 + .../impl/SalaryArchiveItemServiceImpl.java | 9 +- .../service/impl/SalaryItemServiceImpl.java | 18 ++-- .../service/impl/SalarySobServiceImpl.java | 102 ++++++++++-------- .../wrapper/SalarySystemConfigWrapper.java | 5 +- 7 files changed, 86 insertions(+), 57 deletions(-) diff --git a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java index fad7541ab..bc07a947d 100644 --- a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java +++ b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java @@ -69,6 +69,7 @@ public interface SalaryItemMapper { void batchUpdateSortedIndex(@Param("collection")List salaryItemPOS); SalaryItemPO getByName(String name); + SalaryItemPO getByCode(String code); List getConfig(@Param("ids") Collection ids); diff --git a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml index e099ec2b3..21df577c4 100644 --- a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml +++ b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml @@ -592,6 +592,13 @@ WHERE name = #{name} AND delete_type = 0 + + diff --git a/src/com/engine/salary/service/SalaryItemService.java b/src/com/engine/salary/service/SalaryItemService.java index f7c9372e2..b9206c735 100644 --- a/src/com/engine/salary/service/SalaryItemService.java +++ b/src/com/engine/salary/service/SalaryItemService.java @@ -157,6 +157,7 @@ public interface SalaryItemService { void parseConfig(SalaryItemAllConfig salaryItemConfig); Long add(SalaryItemPO salaryItemPO); + SalaryItemPO getItem(SalaryItemPO salaryItemPO); List getConfig(SalaryItemExportParam param); diff --git a/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java index 403249cb6..00e886887 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java @@ -29,6 +29,7 @@ import com.engine.salary.service.*; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.SalaryLoggerUtil; +import com.engine.salary.util.db.IdGenerator; import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.excel.ExcelUtil; import com.engine.salary.util.page.PageInfo; @@ -761,12 +762,7 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi Optional.ofNullable(config .getSalaryItems()) .orElse(new ArrayList<>()) .forEach(itemPO -> { - if (idMap.containsKey(itemPO.getId())) { - itemPO.setCode(null); - itemPO.setName(null); - itemPO.setCreator(uid); - getSalaryItemMapper().updateIgnoreNull(itemPO); - } else if (nameMap.containsKey(itemPO.getName())) { + if (nameMap.containsKey(itemPO.getName())) { SalaryItemPO salaryItemPO = nameMap.get(itemPO.getName()); itemPO.setId(salaryItemPO.getId()); //不许修改code @@ -781,6 +777,7 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi itemPO.setCreator(uid); getSalaryItemMapper().updateIgnoreNull(itemPO); } else { + itemPO.setId(IdGenerator.generate()); getSalaryItemMapper().insertIgnoreNull(itemPO); } }); diff --git a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java index a8c9afbe8..bdf86e28f 100644 --- a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java @@ -824,17 +824,22 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService } + @Override + public SalaryItemPO getItem(SalaryItemPO salaryItemPO) { + SalaryItemPO po = getByName(salaryItemPO.getName()); + if (po == null) { + po = getSalaryItemMapper().getByCode(salaryItemPO.getCode()); + } + return po; + } + + private Long add(SalaryItemPO itemPO, Map idMap, Map nameMap, Map codeMap) { long uid = user.getUID(); Long formulaId = getSalaryFormulaService(user).add(itemPO.getFormula()); itemPO.setFormulaId(formulaId); - if (idMap.containsKey(itemPO.getId())) { - itemPO.setCode(null); - itemPO.setName(null); - itemPO.setCreator(uid); - getSalaryItemMapper().updateIgnoreNull(itemPO); - } else if (nameMap.containsKey(itemPO.getName())) { + if (nameMap.containsKey(itemPO.getName())) { SalaryItemPO salaryItemPO = nameMap.get(itemPO.getName()); itemPO.setId(salaryItemPO.getId()); //不许修改code @@ -849,6 +854,7 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService itemPO.setCreator(uid); getSalaryItemMapper().updateIgnoreNull(itemPO); } else { + itemPO.setId(IdGenerator.generate()); getSalaryItemMapper().insertIgnoreNull(itemPO); } diff --git a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java index 4f33cef76..6ecf631ac 100644 --- a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java @@ -42,6 +42,7 @@ import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.valid.RuntimeTypeEnum; import com.engine.salary.util.valid.ValidUtil; import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; @@ -62,6 +63,7 @@ import java.util.stream.Collectors; * @author qiantao * @version 1.0 **/ +@Slf4j public class SalarySobServiceImpl extends Service implements SalarySobService { @@ -592,18 +594,18 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { salarySobPO.setUpdateTime(new Date()); salarySobMapper.updateById(salarySobPO); // 记录日志 - String operateTypeName = Objects.equals(disableParam.getDisable(), NumberUtils.INTEGER_ONE) ? - SalaryI18nUtil.getI18nLabel(0, "禁用薪资账套") : SalaryI18nUtil.getI18nLabel(0, "启用薪资账套"); - LoggerContext loggerContext = new LoggerContext<>(); - loggerContext.setUser(user); - loggerContext.setTargetId("" + salarySobPO.getId()); - loggerContext.setTargetName(salarySobPO.getName()); - loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); - loggerContext.setOperateTypeName(operateTypeName); - loggerContext.setOperatedesc(operateTypeName + ": " + salarySobPO.getName()); - loggerContext.setOldValues(oldSalarySobPO); - loggerContext.setNewValues(salarySobPO); - SalaryElogConfig.salarySobLoggerTemplate.write(loggerContext); + String operateTypeName = Objects.equals(disableParam.getDisable(), NumberUtils.INTEGER_ONE) ? + SalaryI18nUtil.getI18nLabel(0, "禁用薪资账套") : SalaryI18nUtil.getI18nLabel(0, "启用薪资账套"); + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + salarySobPO.getId()); + loggerContext.setTargetName(salarySobPO.getName()); + loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); + loggerContext.setOperateTypeName(operateTypeName); + loggerContext.setOperatedesc(operateTypeName + ": " + salarySobPO.getName()); + loggerContext.setOldValues(oldSalarySobPO); + loggerContext.setNewValues(salarySobPO); + SalaryElogConfig.salarySobLoggerTemplate.write(loggerContext); } @Override @@ -658,18 +660,18 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { getSalarySobBackItemService(user).deleteBySalarySobIds(ids); // 删除薪资账套的校验规则 getSalarySobCheckRuleService(user).deleteBySalarySobIds(ids); - // 记录日志 - salarySobPOS.forEach(salarySobPO -> { - LoggerContext loggerContext = new LoggerContext<>(); - loggerContext.setUser(user); - loggerContext.setTargetId("" + salarySobPO.getId()); - loggerContext.setTargetName(salarySobPO.getName()); - loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue()); - loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "删除薪资账套")); - loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "删除薪资账套")); - loggerContext.setOldValues(salarySobPO); - SalaryElogConfig.salarySobLoggerTemplate.write(loggerContext); - }); + // 记录日志 + salarySobPOS.forEach(salarySobPO -> { + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + salarySobPO.getId()); + loggerContext.setTargetName(salarySobPO.getName()); + loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "删除薪资账套")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "删除薪资账套")); + loggerContext.setOldValues(salarySobPO); + SalaryElogConfig.salarySobLoggerTemplate.write(loggerContext); + }); } @Override @@ -764,15 +766,15 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { if (CollectionUtils.isNotEmpty(result.getSalarySobCheckRules())) { getSalarySobCheckRuleService(user).batchSave(result.getSalarySobCheckRules()); } - // 记录日志 - LoggerContext loggerContext = new LoggerContext<>(); - loggerContext.setUser(user); - loggerContext.setTargetId("" + result.getSalarySob().getId()); - loggerContext.setTargetName(result.getSalarySob().getName()); - loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); - loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98570, "复制薪资账套")); - loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98570, "复制薪资账套") + ": " + salarySobPO.getName()); - SalaryElogConfig.salarySobLoggerTemplate.write(loggerContext); + // 记录日志 + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + result.getSalarySob().getId()); + loggerContext.setTargetName(result.getSalarySob().getName()); + loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98570, "复制薪资账套")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98570, "复制薪资账套") + ": " + salarySobPO.getName()); + SalaryElogConfig.salarySobLoggerTemplate.write(loggerContext); } @Override @@ -885,9 +887,13 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { SalaryItemPO salaryItemPO = salaryItemNameMap.get(salaryItem.getName()); if (salaryItemPO != null) { sobItem.setSalaryItemId(salaryItemPO.getId()); - }else{ - Long itemId = getSalaryItemService(user).add(salaryItem); - sobItem.setSalaryItemId(itemId); + } else { + SalaryItemPO itemPO = getSalaryItemService(user).getItem(salaryItem); + if (itemPO != null) { + sobItem.setSalaryItemId(itemPO.getId()); + }else { + log.error("item not found:{}",salaryItem); + } } } @@ -918,10 +924,14 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { if (salaryItem != null) { SalaryItemPO salaryItemPO = salaryItemNameMap.get(salaryItem.getName()); if (salaryItemPO != null) { - sobItem.setSalaryItem(salaryItemPO); - }else{ - Long itemId = getSalaryItemService(user).add(salaryItem); - sobItem.setSalaryItemId(itemId); + sobItem.setSalaryItemId(salaryItemPO.getId()); + } else { + SalaryItemPO itemPO = getSalaryItemService(user).getItem(salaryItem); + if (itemPO != null) { + sobItem.setSalaryItemId(itemPO.getId()); + }else { + log.error("item not found:{}",salaryItem); + } } } }); @@ -946,10 +956,14 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { if (salaryItem != null) { SalaryItemPO salaryItemPO = salaryItemNameMap.get(salaryItem.getName()); if (salaryItemPO != null) { - salarySobBackItem.setSalaryItem(salaryItemPO); - }else{ - Long itemId = getSalaryItemService(user).add(salaryItem); - salarySobBackItem.setSalaryItemId(itemId); + salarySobBackItem.setSalaryItemId(salaryItemPO.getId()); + } else { + SalaryItemPO itemPO = getSalaryItemService(user).getItem(salaryItem); + if (itemPO != null) { + salarySobBackItem.setSalaryItemId(itemPO.getId()); + }else { + log.error("item not found:{}",salaryItem); + } } } } diff --git a/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java b/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java index e3d24d810..912d2c587 100644 --- a/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java +++ b/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java @@ -25,6 +25,7 @@ import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.valid.RuntimeTypeEnum; import com.engine.salary.util.valid.ValidUtil; import com.engine.salary.util.xml.XStreamUtil; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.poi.util.IOUtils; import weaver.file.ImageFileManager; @@ -49,6 +50,7 @@ import java.util.Map; * @author qiantao * @version 1.0 **/ +@Slf4j public class SalarySystemConfigWrapper extends Service { private SalarySysConfService getSalarySysConfService(User user) { @@ -267,7 +269,8 @@ public class SalarySystemConfigWrapper extends Service { return response; } catch (Exception e) { - response.setErrorData(Collections.singletonList(ImportExcelResponse.Error.builder().message("文件读取失败!").build())); + log.error("迁入失败",e); + response.setErrorData(Collections.singletonList(ImportExcelResponse.Error.builder().message("迁入失败!").build())); return response; } finally { IOUtils.closeQuietly(fileInputStream);