导入自动锁定添加开关
This commit is contained in:
parent
52b592dd7e
commit
1294e86c8c
|
|
@ -31,6 +31,7 @@ import com.engine.salary.enums.salaryaccounting.SalaryAcctResultDataSourceEnum;
|
|||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.mapper.sys.SalarySysConfMapper;
|
||||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.sys.constant.SalarySysConstant;
|
||||
import com.engine.salary.sys.entity.po.SalarySysConfPO;
|
||||
import com.engine.salary.sys.enums.OpenEnum;
|
||||
import com.engine.salary.sys.service.SalarySysConfService;
|
||||
|
|
@ -1080,12 +1081,15 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
getSalaryAcctEmployeeService(user).batchSave(newSalaryAcctEmployees);
|
||||
}
|
||||
}
|
||||
// 导入的列都自动锁定
|
||||
SalaryAcctResultUpdateLockStatusParam updateLockStatusParam = SalaryAcctResultUpdateLockStatusParam.builder()
|
||||
.salaryItemIds(excelSalaryItemIds)
|
||||
.salaryAcctRecordId(param.getSalaryAcctRecordId())
|
||||
.lockStatus(LockStatusEnum.LOCK).build();
|
||||
getSalaryAcctResultService(user).updateLockStatusByParam(updateLockStatusParam);
|
||||
SalarySysConfPO autoLock = getSalarySysConfService(user).getOneByCode(SalarySysConstant.EDIT_IMPORT_AUTO_LOCK);
|
||||
if(autoLock != null){
|
||||
// 导入的列都自动锁定
|
||||
SalaryAcctResultUpdateLockStatusParam updateLockStatusParam = SalaryAcctResultUpdateLockStatusParam.builder()
|
||||
.salaryItemIds(excelSalaryItemIds)
|
||||
.salaryAcctRecordId(param.getSalaryAcctRecordId())
|
||||
.lockStatus(LockStatusEnum.LOCK).build();
|
||||
getSalaryAcctResultService(user).updateLockStatusByParam(updateLockStatusParam);
|
||||
}
|
||||
|
||||
apidatas.put("successCount", successCount);
|
||||
apidatas.put("errorCount", failCount);
|
||||
|
|
|
|||
|
|
@ -30,6 +30,10 @@ import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
|||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.mapper.salaryacct.SalaryAcctResultMapper;
|
||||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.sys.constant.SalarySysConstant;
|
||||
import com.engine.salary.sys.entity.po.SalarySysConfPO;
|
||||
import com.engine.salary.sys.service.SalarySysConfService;
|
||||
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
|
|
@ -159,6 +163,10 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|||
return ServiceUtil.getService(SalaryAcctResultLogServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySysConfService getSalarySysConfService(User user) {
|
||||
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
|
||||
}
|
||||
|
||||
|
||||
private SalaryCheckResultService salaryCheckResultService;
|
||||
|
||||
|
|
@ -532,23 +540,25 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|||
encryptUtil.decryptList(salaryAcctResultPOSOld, SalaryAcctResultPO.class);
|
||||
// 保存参数转换成薪资核算结果po
|
||||
List<SalaryAcctResultPO> salaryAcctResultPOS = SalaryAcctResultBO.convert2PO(salaryAcctResultPOSOld, saveParam, salaryAcctEmployeePO, (long) user.getUID());
|
||||
// 对比核算结果提取修改了哪些薪资项目
|
||||
Set<Long> needLockItems = new HashSet<>();
|
||||
Map<Long, SalaryAcctResultPO> oldResutMap = SalaryEntityUtil.convert2Map(salaryAcctResultPOSOld, SalaryAcctResultPO::getSalaryItemId);
|
||||
salaryAcctResultPOS.stream().forEach(PO -> {
|
||||
String oldValue = Optional.ofNullable(oldResutMap.get(PO.getSalaryItemId())).map(SalaryAcctResultPO::getResultValue).orElse("");
|
||||
if(!StringUtils.equals(oldValue,PO.getResultValue())){
|
||||
needLockItems.add(PO.getSalaryItemId());
|
||||
}
|
||||
});
|
||||
|
||||
// 编辑的列都自动锁定
|
||||
SalaryAcctResultUpdateLockStatusParam updateLockStatusParam = SalaryAcctResultUpdateLockStatusParam.builder()
|
||||
.salaryItemIds(needLockItems)
|
||||
.salaryAcctRecordId(salaryAcctEmployeePO.getSalaryAcctRecordId())
|
||||
.lockStatus(LockStatusEnum.LOCK).build();
|
||||
getSalaryAcctResultService(user).updateLockStatusByParam(updateLockStatusParam);
|
||||
SalarySysConfPO autoLock = getSalarySysConfService(user).getOneByCode(SalarySysConstant.EDIT_IMPORT_AUTO_LOCK);
|
||||
if(autoLock != null){
|
||||
// 对比核算结果提取修改了哪些薪资项目
|
||||
Set<Long> needLockItems = new HashSet<>();
|
||||
Map<Long, SalaryAcctResultPO> oldResutMap = SalaryEntityUtil.convert2Map(salaryAcctResultPOSOld, SalaryAcctResultPO::getSalaryItemId);
|
||||
salaryAcctResultPOS.stream().forEach(PO -> {
|
||||
String oldValue = Optional.ofNullable(oldResutMap.get(PO.getSalaryItemId())).map(SalaryAcctResultPO::getResultValue).orElse("");
|
||||
if(!StringUtils.equals(oldValue,PO.getResultValue())){
|
||||
needLockItems.add(PO.getSalaryItemId());
|
||||
}
|
||||
});
|
||||
|
||||
// 编辑的列都自动锁定
|
||||
SalaryAcctResultUpdateLockStatusParam updateLockStatusParam = SalaryAcctResultUpdateLockStatusParam.builder()
|
||||
.salaryItemIds(needLockItems)
|
||||
.salaryAcctRecordId(salaryAcctEmployeePO.getSalaryAcctRecordId())
|
||||
.lockStatus(LockStatusEnum.LOCK).build();
|
||||
getSalaryAcctResultService(user).updateLockStatusByParam(updateLockStatusParam);
|
||||
}
|
||||
// SalaryAcctRecordPO byId = getSalaryAcctRecordService(user).getById(salaryAcctEmployeePO.getSalaryAcctRecordId());
|
||||
// 若保存编辑时一同传已发补发,则删除以下代码
|
||||
// if(byId.getBackCalcStatus() != null && Objects.equals(byId.getBackCalcStatus(),1)){
|
||||
|
|
|
|||
|
|
@ -55,4 +55,10 @@ public class SalarySysConstant {
|
|||
* 需要申报功能
|
||||
*/
|
||||
public static final String TAX_DECLARATION_FUNCTION = "taxDeclarationFunction";
|
||||
|
||||
/**
|
||||
* 是否需要导入、编辑项目自动锁定conf_key
|
||||
*/
|
||||
public static final String EDIT_IMPORT_AUTO_LOCK = "EditImportAutoLock";
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue