| | |
| | | import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; |
| | | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| | | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| | | import cn.iocoder.yudao.module.srm.api.supplier.SrmSupplierApi; |
| | | import cn.iocoder.yudao.module.srm.api.supplier.dto.SrmSupplierRespDTO; |
| | | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| | | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.supplier.ErpSupplierImportExcelVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.supplier.ErpSupplierImportReqVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.supplier.ErpSupplierImportRespVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.supplier.ErpSupplierPageReqVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.supplier.ErpSupplierRespVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.supplier.ErpSupplierSaveReqVO; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; |
| | |
| | | |
| | | @Tag(name = "管理后台 - ERP 供应商") |
| | | @RestController |
| | | @RequestMapping("/erp/supplier") |
| | | @RequestMapping({"/erp/supplier", "/purchase/supplier"}) |
| | | @Validated |
| | | public class ErpSupplierController { |
| | | |
| | | @Resource |
| | | private ErpSupplierService supplierService; |
| | | |
| | | @Resource |
| | | private SrmSupplierApi srmSupplierApi; |
| | | |
| | | @PostMapping("/create") |
| | | @Operation(summary = "创建供应商") |
| | |
| | | @GetMapping("/simple-list") |
| | | @Operation(summary = "获得供应商精简列表", description = "只包含被开启的供应商,主要用于前端的下拉选项") |
| | | public CommonResult<List<ErpSupplierRespVO>> getSupplierSimpleList() { |
| | | List<ErpSupplierDO> list = supplierService.getSupplierListByStatus(CommonStatusEnum.ENABLE.getStatus()); |
| | | List<SrmSupplierRespDTO> list = srmSupplierApi.getSupplierSimpleList().getCheckedData(); |
| | | return success(convertList(list, supplier -> new ErpSupplierRespVO().setId(supplier.getId()).setName(supplier.getName()))); |
| | | } |
| | | |
| | |
| | | BeanUtils.toBean(list, ErpSupplierRespVO.class)); |
| | | } |
| | | |
| | | @GetMapping("/get-import-template") |
| | | @Operation(summary = "获得导入供应商模板") |
| | | public void importTemplate(HttpServletResponse response) throws IOException { |
| | | // 手动创建导出 demo |
| | | List<ErpSupplierImportExcelVO> list = Arrays.asList( |
| | | ErpSupplierImportExcelVO.builder().name("示例供应商").contact("").mobile("").telephone("") |
| | | .email("").fax("").remark("").status(CommonStatusEnum.ENABLE.getStatus()).sort(0) |
| | | .taxNo("").taxPercent(null).bankName("").bankAccount("").bankAddress("").build() |
| | | ); |
| | | // 输出 |
| | | ExcelUtils.write(response, "供应商导入模板.xls", "供应商列表", ErpSupplierImportExcelVO.class, list); |
| | | } |
| | | |
| | | @PostMapping("/import") |
| | | @Operation(summary = "导入供应商") |
| | | @PreAuthorize("@ss.hasPermission('erp:supplier:import')") |
| | | public CommonResult<ErpSupplierImportRespVO> importExcel(@Valid ErpSupplierImportReqVO importReqVO) |
| | | throws Exception { |
| | | List<ErpSupplierImportExcelVO> list = ExcelUtils.read(importReqVO.getFile(), ErpSupplierImportExcelVO.class); |
| | | return success(supplierService.importSupplierList(list, importReqVO)); |
| | | } |
| | | |
| | | } |