| | |
| | | |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import javax.annotation.Resource; |
| | | |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.scheduling.annotation.Async; |
| | |
| | | |
| | | import com.ruoyi.cwgl.mapper.VoucherSubjectSettingMapper; |
| | | import com.ruoyi.cwgl.domain.VoucherSubjectSetting; |
| | | import com.ruoyi.cwgl.domain.VoucherSubjectSettingLog; |
| | | import com.ruoyi.cwgl.service.IVoucherSubjectSettingService; |
| | | import com.ruoyi.cwgl.service.IVoucherSubjectSettingLogService; |
| | | import com.ruoyi.common.core.text.Convert; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | |
| | |
| | | protected final Logger logger = LoggerFactory.getLogger(getClass()); |
| | | @Resource |
| | | private VoucherSubjectSettingMapper voucherSubjectSettingMapper; |
| | | |
| | | @Resource |
| | | private IVoucherSubjectSettingLogService voucherSubjectSettingLogService; |
| | | |
| | | |
| | | /** |
| | |
| | | public int insertVoucherSubjectSetting(VoucherSubjectSetting voucherSubjectSetting) |
| | | { |
| | | voucherSubjectSetting.setCreateTime(DateUtils.getNowDate()); |
| | | return voucherSubjectSettingMapper.insertVoucherSubjectSetting(voucherSubjectSetting); |
| | | voucherSubjectSetting.setCreateBy(SecurityUtils.getUsername()); |
| | | int result = voucherSubjectSettingMapper.insertVoucherSubjectSetting(voucherSubjectSetting); |
| | | |
| | | // 记录新增日志 |
| | | if (result > 0) { |
| | | VoucherSubjectSettingLog log = new VoucherSubjectSettingLog(); |
| | | log.setSubjectId(voucherSubjectSetting.getId()); |
| | | log.setCreateBy(voucherSubjectSetting.getCreateBy()); |
| | | log.setOperation("新增科目:【" + voucherSubjectSetting.getSubjectName() + "】"); |
| | | voucherSubjectSettingLogService.insertVoucherSubjectSettingLog(log); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | |
| | | * 修改凭证科目设置 |
| | | * |
| | | * @param voucherSubjectSetting 凭证科目设置 |
| | | * @param original |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int updateVoucherSubjectSetting(VoucherSubjectSetting voucherSubjectSetting) |
| | | public int updateVoucherSubjectSetting(VoucherSubjectSetting voucherSubjectSetting, VoucherSubjectSetting original) |
| | | { |
| | | |
| | | voucherSubjectSetting.setUpdateTime(DateUtils.getNowDate()); |
| | | return voucherSubjectSettingMapper.updateVoucherSubjectSetting(voucherSubjectSetting); |
| | | int result = voucherSubjectSettingMapper.updateVoucherSubjectSetting(voucherSubjectSetting); |
| | | |
| | | // 记录修改日志 |
| | | if (result > 0 && original != null) { |
| | | String changeLog = generateChangeLog(original, voucherSubjectSetting); |
| | | if (!changeLog.isEmpty()) { |
| | | VoucherSubjectSettingLog log = new VoucherSubjectSettingLog(); |
| | | log.setSubjectId(voucherSubjectSetting.getId()); |
| | | log.setCreateBy(SecurityUtils.getUsername()); |
| | | log.setOperation("修改科目:【" + original.getSubjectName() + "】" + changeLog); |
| | | voucherSubjectSettingLogService.insertVoucherSubjectSettingLog(log); |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 生成字段变更日志 |
| | | * @param original 原始数据 |
| | | * @param updated 更新后数据 |
| | | * @return 变更日志字符串 |
| | | */ |
| | | private String generateChangeLog(VoucherSubjectSetting original, VoucherSubjectSetting updated) { |
| | | StringBuilder changeLog = new StringBuilder(); |
| | | |
| | | // 比较科目代码 |
| | | if (!StringUtils.equals(original.getSubjectCode(), updated.getSubjectCode())) { |
| | | changeLog.append("科目代码【").append(original.getSubjectCode()).append("】修改为【").append(updated.getSubjectCode()).append("】;"); |
| | | } |
| | | |
| | | // 比较科目名称 |
| | | if (!StringUtils.equals(original.getSubjectName(), updated.getSubjectName())) { |
| | | changeLog.append("科目名称【").append(original.getSubjectName()).append("】修改为【").append(updated.getSubjectName()).append("】;"); |
| | | } |
| | | |
| | | // 比较科目类别 |
| | | if (!StringUtils.equals(original.getSubjectType(), updated.getSubjectType())) { |
| | | changeLog.append("科目类别【").append(original.getSubjectType()).append("】修改为【").append(updated.getSubjectType()).append("】;"); |
| | | } |
| | | |
| | | // 比较启用状态 |
| | | if (!StringUtils.equals(original.getEnabled(), updated.getEnabled())) { |
| | | changeLog.append("启用状态【").append(original.getEnabled()).append("】修改为【").append(updated.getEnabled()).append("】;"); |
| | | } |
| | | |
| | | // 比较余额方向 |
| | | if (!StringUtils.equals(original.getBalanceDirection(), updated.getBalanceDirection())) { |
| | | changeLog.append("余额方向【").append(original.getBalanceDirection()).append("】修改为【").append(updated.getBalanceDirection()).append("】;"); |
| | | } |
| | | |
| | | // 比较核算项目 |
| | | if (original.getAccountingItems() != null && updated.getAccountingItems() != null && |
| | | !original.getAccountingItems().equals(updated.getAccountingItems())) { |
| | | changeLog.append("核算项目【").append(original.getAccountingItems()).append("】修改为【").append(updated.getAccountingItems()).append("】;"); |
| | | } |
| | | |
| | | // 比较往来单位 |
| | | if (!StringUtils.equals(original.getContactUnit(), updated.getContactUnit())) { |
| | | changeLog.append("往来单位【").append(original.getContactUnit()).append("】修改为【").append(updated.getContactUnit()).append("】;"); |
| | | } |
| | | |
| | | // 比较部门 |
| | | if (!StringUtils.equals(original.getDepartment(), updated.getDepartment())) { |
| | | changeLog.append("部门【").append(original.getDepartment()).append("】修改为【").append(updated.getDepartment()).append("】;"); |
| | | } |
| | | |
| | | // 比较品名 |
| | | if (!StringUtils.equals(original.getProductName(), updated.getProductName())) { |
| | | changeLog.append("品名【").append(original.getProductName()).append("】修改为【").append(updated.getProductName()).append("】;"); |
| | | } |
| | | |
| | | // 比较数量金额核算 |
| | | if (!StringUtils.equals(original.getQuantityAmountAccounting(), updated.getQuantityAmountAccounting())) { |
| | | changeLog.append("数量金额核算【").append(original.getQuantityAmountAccounting()).append("】修改为【").append(updated.getQuantityAmountAccounting()).append("】;"); |
| | | } |
| | | |
| | | // 比较现金科目 |
| | | if (!StringUtils.equals(original.getCashSubject(), updated.getCashSubject())) { |
| | | changeLog.append("现金科目【").append(original.getCashSubject()).append("】修改为【").append(updated.getCashSubject()).append("】;"); |
| | | } |
| | | |
| | | // 比较银行科目 |
| | | if (!StringUtils.equals(original.getBankSubject(), updated.getBankSubject())) { |
| | | changeLog.append("银行科目【").append(original.getBankSubject()).append("】修改为【").append(updated.getBankSubject()).append("】;"); |
| | | } |
| | | |
| | | // 比较现金流量科目 |
| | | if (!StringUtils.equals(original.getCashFlowSubject(), updated.getCashFlowSubject())) { |
| | | changeLog.append("现金流量科目【").append(original.getCashFlowSubject()).append("】修改为【").append(updated.getCashFlowSubject()).append("】;"); |
| | | } |
| | | |
| | | // 比较费用名称 |
| | | if (!StringUtils.equals(original.getExpenseName(), updated.getExpenseName())) { |
| | | changeLog.append("费用名称【").append(original.getExpenseName()).append("】修改为【").append(updated.getExpenseName()).append("】;"); |
| | | } |
| | | |
| | | // 比较助记码 |
| | | if (!StringUtils.equals(original.getMnemonicCode(), updated.getMnemonicCode())) { |
| | | changeLog.append("助记码【").append(original.getMnemonicCode()).append("】修改为【").append(updated.getMnemonicCode()).append("】;"); |
| | | } |
| | | |
| | | // 比较外币核算 |
| | | if (!StringUtils.equals(original.getForeignCurrencyAccounting(), updated.getForeignCurrencyAccounting())) { |
| | | changeLog.append("外币核算【").append(original.getForeignCurrencyAccounting()).append("】修改为【").append(updated.getForeignCurrencyAccounting()).append("】;"); |
| | | } |
| | | |
| | | // 比较计量单位 |
| | | if (!StringUtils.equals(original.getUnitOfMeasurement(), updated.getUnitOfMeasurement())) { |
| | | changeLog.append("计量单位【").append(original.getUnitOfMeasurement()).append("】修改为【").append(updated.getUnitOfMeasurement()).append("】;"); |
| | | } |
| | | |
| | | // 比较显示顺序 |
| | | if (original.getOrderNum() != null && updated.getOrderNum() != null && |
| | | !original.getOrderNum().equals(updated.getOrderNum())) { |
| | | changeLog.append("显示顺序【").append(original.getOrderNum()).append("】修改为【").append(updated.getOrderNum()).append("】;"); |
| | | } |
| | | |
| | | // 比较状态 |
| | | if (!StringUtils.equals(original.getStatus(), updated.getStatus())) { |
| | | changeLog.append("状态【").append(original.getStatus()).append("】修改为【").append(updated.getStatus()).append("】;"); |
| | | } |
| | | |
| | | // 比较备注 |
| | | if (!StringUtils.equals(original.getRemark(), updated.getRemark())) { |
| | | changeLog.append("备注【").append(original.getRemark()).append("】修改为【").append(updated.getRemark()).append("】;"); |
| | | } |
| | | |
| | | // 比较帐套类型 |
| | | if (!StringUtils.equals(original.getType(), updated.getType())) { |
| | | changeLog.append("帐套类型【").append(original.getType()).append("】修改为【").append(updated.getType()).append("】;"); |
| | | } |
| | | |
| | | return changeLog.toString(); |
| | | } |
| | | |
| | | /** |