Files
klp-oa/klp-erp/src/main/java/com/klp/erp/controller/ErpSupplierTransactionController.java

68 lines
2.3 KiB
Java
Raw Normal View History

2026-06-27 10:40:54 +08:00
package com.klp.erp.controller;
import com.klp.common.annotation.Log;
import com.klp.common.annotation.RepeatSubmit;
import com.klp.common.core.controller.BaseController;
import com.klp.common.core.domain.R;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.erp.domain.bo.ErpSupplierTransactionBo;
import com.klp.erp.domain.vo.ErpSupplierTransactionVo;
import com.klp.erp.service.IErpSupplierTransactionService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 供应商往来流水
*
* @author klp
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/erp/supplierTxn")
public class ErpSupplierTransactionController extends BaseController {
private final IErpSupplierTransactionService txnService;
/** 某供应商的往来流水(含逐笔余额) */
@GetMapping("/list")
public R<List<ErpSupplierTransactionVo>> list(@RequestParam("supplierId") Long supplierId) {
return R.ok(txnService.queryBySupplier(supplierId));
}
/** 某供应商的往来汇总 */
@GetMapping("/summary")
public R<Map<String, Object>> summary(@RequestParam("supplierId") Long supplierId) {
return R.ok(txnService.summary(supplierId));
}
@Log(title = "供应商往来", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping
public R<Void> add(@Validated(AddGroup.class) @RequestBody ErpSupplierTransactionBo bo) {
return toAjax(txnService.insertByBo(bo));
}
@Log(title = "供应商往来", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ErpSupplierTransactionBo bo) {
return toAjax(txnService.updateByBo(bo));
}
@Log(title = "供应商往来", businessType = BusinessType.DELETE)
@DeleteMapping("/{txnIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] txnIds) {
return toAjax(txnService.deleteByIds(Arrays.asList(txnIds)));
}
}