|
|
|
|
@ -24,6 +24,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@@ -24,6 +24,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
|
|
import java.util.*; |
|
|
|
|
@ -87,35 +88,44 @@ public class ReverseWritingRulesController {
@@ -87,35 +88,44 @@ public class ReverseWritingRulesController {
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = "/saveOrUpdate") |
|
|
|
|
@Schema(description = "添加主数据和分录数据") |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public ResponseResult<?> addAll(@RequestBody ReverseWritingRulesDto dto) { |
|
|
|
|
if (dto == null) { |
|
|
|
|
ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED); |
|
|
|
|
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED); |
|
|
|
|
} |
|
|
|
|
ReverseWritingRules reverseWritingRules = new ReverseWritingRules(); |
|
|
|
|
reverseWritingRules.setCreateTime(new Date()); |
|
|
|
|
|
|
|
|
|
BeanUtils.copyProperties(dto, reverseWritingRules); |
|
|
|
|
if (reverseWritingRules.getId() != null) { |
|
|
|
|
rulesService.removeById(reverseWritingRules.getId()); |
|
|
|
|
// 更新走按主键就地更新,避免删除重建导致创建人等审计字段丢失
|
|
|
|
|
ReverseWritingRules original = rulesService.getById(reverseWritingRules.getId()); |
|
|
|
|
if (original != null) { |
|
|
|
|
reverseWritingRules.setCreateUserId(original.getCreateUserId()); |
|
|
|
|
reverseWritingRules.setCreateTime(original.getCreateTime()); |
|
|
|
|
} |
|
|
|
|
reverseWritingRules.setUpdateTime(new Date()); |
|
|
|
|
if (!rulesService.updateById(reverseWritingRules)) { |
|
|
|
|
throw new MyRuntimeException("反写规则配置数据保存失败!"); |
|
|
|
|
} |
|
|
|
|
// 分录按规则id全量覆盖
|
|
|
|
|
formulaService.remove(new LambdaQueryWrapper<ReverseWritingFormula>().eq(ReverseWritingFormula::getRulesId, reverseWritingRules.getId())); |
|
|
|
|
businessService.remove(new LambdaQueryWrapper<ReverseWritingBusiness>().eq(ReverseWritingBusiness::getRulesId, reverseWritingRules.getId())); |
|
|
|
|
} else { |
|
|
|
|
reverseWritingRules.setId(dto.getId()); |
|
|
|
|
} |
|
|
|
|
reverseWritingRules.setCreateTime(new Date()); |
|
|
|
|
boolean save = rulesService.save(reverseWritingRules); |
|
|
|
|
if (!save) { |
|
|
|
|
throw new MyRuntimeException("反写规则配置数据保存失败!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//反写公式
|
|
|
|
|
List<ReverseWritingFormula> formulaList = dto.getFormulaList(); |
|
|
|
|
if (ObjectUtil.isNotEmpty(formulaList)) { |
|
|
|
|
formulaList.forEach(f -> f.setRulesId(reverseWritingRules.getId())); |
|
|
|
|
if (!formulaList.isEmpty()) { |
|
|
|
|
formulaService.saveBatch(formulaList); |
|
|
|
|
} |
|
|
|
|
// 业务规则
|
|
|
|
|
List<ReverseWritingBusiness> businessList = dto.getBusinessList(); |
|
|
|
|
if (ObjectUtil.isNotEmpty(businessList)) { |
|
|
|
|
businessList.forEach(f -> f.setRulesId(reverseWritingRules.getId())); |
|
|
|
|
if (!businessList.isEmpty()) { |
|
|
|
|
businessService.saveBatch(businessList); |
|
|
|
|
} |
|
|
|
|
return ResponseResult.success("保存成功"); |
|
|
|
|
@ -123,9 +133,10 @@ public class ReverseWritingRulesController {
@@ -123,9 +133,10 @@ public class ReverseWritingRulesController {
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = "/removeAllById") |
|
|
|
|
@Schema(description = "删除") |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public ResponseResult<?> removeAllById(@MyRequestBody Long id) { |
|
|
|
|
if (ObjectUtil.isEmpty(id)) { |
|
|
|
|
ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED); |
|
|
|
|
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED); |
|
|
|
|
} |
|
|
|
|
rulesService.removeById(id); |
|
|
|
|
formulaService.remove(new LambdaQueryWrapper<ReverseWritingFormula>().eq(ReverseWritingFormula::getRulesId, id)); |
|
|
|
|
|