wujianwei
2026-03-20 b2e717310b8a177b435e0a3532f520839ec26402
service/src/main/java/com/ruoyi/cwgl/controller/VoucherSubjectSettingController.java
@@ -68,9 +68,13 @@
     */
    @PreAuthorize("@ss.hasPermi('cwgl:voucherSubjectSetting:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Integer id)
    public AjaxResult getInfo(@PathVariable Integer id)
    {
        return AjaxResult.success(voucherSubjectSettingService.selectVoucherSubjectSettingById(id));
        VoucherSubjectSetting subject = voucherSubjectSettingService.selectVoucherSubjectSettingById(id);
        if (subject != null && subject.getAccountingItems() != null) {
            subject.setAccountingItemsDesc(subject.getAccountingItemsDesc());
        }
        return AjaxResult.success(subject);
    }
    /**
@@ -81,6 +85,10 @@
    @PostMapping
    public AjaxResult add(@RequestBody VoucherSubjectSetting voucherSubjectSetting)
    {
        if (!"0".equals(voucherSubjectSettingService.checkSubjectCodeUnique(voucherSubjectSetting)))
        {
            return AjaxResult.error("新增科目'" + voucherSubjectSetting.getSubjectCode() + "'失败,科目代码已存在");
        }
        return toAjax(voucherSubjectSettingService.insertVoucherSubjectSetting(voucherSubjectSetting));
    }
@@ -92,7 +100,18 @@
    @PutMapping
    public AjaxResult edit(@RequestBody VoucherSubjectSetting voucherSubjectSetting)
    {
        return toAjax(voucherSubjectSettingService.updateVoucherSubjectSetting(voucherSubjectSetting));
        // 获取原始数据用于比较科目代码是否改变
        VoucherSubjectSetting original = voucherSubjectSettingService.selectVoucherSubjectSettingById(voucherSubjectSetting.getId());
        // 只有当科目代码发生改变时才进行唯一性校验
        if (original != null && !original.getSubjectCode().equals(voucherSubjectSetting.getSubjectCode())) {
            if (!"0".equals(voucherSubjectSettingService.checkSubjectCodeUnique(voucherSubjectSetting)))
            {
                return AjaxResult.error("修改科目'" + voucherSubjectSetting.getSubjectCode() + "'失败,科目代码已存在");
            }
        }
        return toAjax(voucherSubjectSettingService.updateVoucherSubjectSetting(voucherSubjectSetting,original));
    }
    /**