|
@@ -1,6 +1,7 @@
|
|
|
package cn.iocoder.yudao.module.contract.controller.admin.suppliercontract;
|
|
|
|
|
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
|
|
+import cn.iocoder.yudao.framework.common.enums.GeneralStatusEnum;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
@@ -11,11 +12,19 @@ import cn.iocoder.yudao.module.contract.controller.admin.suppliercontract.vo.Sup
|
|
|
import cn.iocoder.yudao.module.contract.controller.admin.suppliercontract.vo.SupplierContractSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.contract.dal.dataobject.suppliercontract.SupplierContractDO;
|
|
|
import cn.iocoder.yudao.module.contract.dal.dataobject.suppliercontract.SupplierContractHistoryDO;
|
|
|
+import cn.iocoder.yudao.module.contract.enums.ContractStatusEnum;
|
|
|
import cn.iocoder.yudao.module.contract.service.suppliercontract.SupplierContractService;
|
|
|
+import cn.iocoder.yudao.module.employee.api.EmployeeApi;
|
|
|
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
|
|
|
+import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
|
|
+import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
|
+import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
|
+import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
+import org.springdoc.api.annotations.ParameterObject;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -24,7 +33,11 @@ import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.Valid;
|
|
|
import java.io.IOException;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
|
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
@@ -38,6 +51,15 @@ public class SupplierContractController {
|
|
|
@Resource
|
|
|
private SupplierContractService supplierContractService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private EmployeeApi employeeApi;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private DeptApi deptApi;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private FileApi fileApi;
|
|
|
+
|
|
|
@GetMapping("/getSupplierContractCode")
|
|
|
@Operation(summary = "获取采购合同编号")
|
|
|
@ApiOperationSupport(order = 1)
|
|
@@ -81,31 +103,59 @@ public class SupplierContractController {
|
|
|
public CommonResult<SupplierContractRespVO> getSupplierContract(@RequestParam("id") Long id) {
|
|
|
SupplierContractDO supplierContract = supplierContractService.getSupplierContract(id);
|
|
|
SupplierContractRespVO supplierContractRespVO = BeanUtils.toBean(supplierContract, SupplierContractRespVO.class);
|
|
|
-
|
|
|
-
|
|
|
+ // 是否描述集合
|
|
|
+ Map<Integer, String> generalStatusMap = Arrays.stream(GeneralStatusEnum.values())
|
|
|
+ .collect(Collectors.toMap(GeneralStatusEnum::getStatus, GeneralStatusEnum::getName));
|
|
|
+ // 是否框架合同
|
|
|
+ supplierContractRespVO.setIsFrameContractDesc(generalStatusMap.getOrDefault(supplierContract.getIsFrameContract(), "未知"));
|
|
|
+ // 负责人名称
|
|
|
+ EmployeeRespDTO ownerEmployee = employeeApi.getEmployeeById(supplierContract.getOwnerEmployeeId());
|
|
|
+ if (Objects.nonNull(ownerEmployee)) {
|
|
|
+ supplierContractRespVO.setOwnerEmployeeName(ownerEmployee.getName());
|
|
|
+ }
|
|
|
+ // 部门名称
|
|
|
+ DeptRespDTO ownerDept = deptApi.getDept(supplierContract.getDeptId());
|
|
|
+ if (Objects.nonNull(ownerDept)) {
|
|
|
+ supplierContractRespVO.setDeptName(ownerDept.getName());
|
|
|
+ }
|
|
|
+ // 合同状态描述
|
|
|
+ Map<String, String> contractStatusMap = Arrays.stream(ContractStatusEnum.values())
|
|
|
+ .collect(Collectors.toMap(ContractStatusEnum::getStatus, ContractStatusEnum::getDesc));
|
|
|
+ supplierContractRespVO.setContractStatusDesc(contractStatusMap.getOrDefault(supplierContract.getContractStatus(), "未知"));
|
|
|
+ // 是否关闭
|
|
|
+ supplierContractRespVO.setClosedDesc(generalStatusMap.getOrDefault(supplierContract.getClosed(), "未知"));
|
|
|
+ // 是否终止
|
|
|
+ supplierContractRespVO.setTerminateDesc(generalStatusMap.getOrDefault(supplierContract.getTerminate(), "未知"));
|
|
|
+
|
|
|
+ // 附件
|
|
|
+ List<FileDTO> fileDTOList = fileApi.getFileDTOListByBiz(supplierContract.getSupplierContractUuid());
|
|
|
+ supplierContractRespVO.setFileList(fileDTOList);
|
|
|
|
|
|
return success(supplierContractRespVO);
|
|
|
}
|
|
|
|
|
|
@GetMapping("/page")
|
|
|
@Operation(summary = "获得采购合同信息分页")
|
|
|
- @PreAuthorize("@ss.hasPermission('contract:supplier-contract:query')")
|
|
|
- public CommonResult<PageResult<SupplierContractRespVO>> getSupplierContractPage(@Valid SupplierContractPageReqVO pageReqVO) {
|
|
|
- PageResult<SupplierContractDO> pageResult = supplierContractService.getSupplierContractPage(pageReqVO);
|
|
|
- return success(BeanUtils.toBean(pageResult, SupplierContractRespVO.class));
|
|
|
+ @ApiOperationSupport(order = 6)
|
|
|
+ // @PreAuthorize("@ss.hasPermission('contract:supplier-contract:query')")
|
|
|
+ public CommonResult<PageResult<SupplierContractRespVO>> getSupplierContractPage(@Valid @ParameterObject SupplierContractPageReqVO pageReqVO) {
|
|
|
+ PageResult<SupplierContractRespVO> pageResult = supplierContractService.getSupplierContractPage(pageReqVO);
|
|
|
+
|
|
|
+ return success(pageResult);
|
|
|
}
|
|
|
|
|
|
@GetMapping("/export-excel")
|
|
|
@Operation(summary = "导出采购合同信息 Excel")
|
|
|
- @PreAuthorize("@ss.hasPermission('contract:supplier-contract:export')")
|
|
|
+ @ApiOperationSupport(order = 7)
|
|
|
+ // @PreAuthorize("@ss.hasPermission('contract:supplier-contract:export')")
|
|
|
@ApiAccessLog(operateType = EXPORT)
|
|
|
- public void exportSupplierContractExcel(@Valid SupplierContractPageReqVO pageReqVO,
|
|
|
+ public void exportSupplierContractExcel(@ParameterObject SupplierContractPageReqVO pageReqVO,
|
|
|
HttpServletResponse response) throws IOException {
|
|
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
|
|
- List<SupplierContractDO> list = supplierContractService.getSupplierContractPage(pageReqVO).getList();
|
|
|
+ List<SupplierContractRespVO> list = supplierContractService.getSupplierContractPage(pageReqVO).getList();
|
|
|
// 导出 Excel
|
|
|
ExcelUtils.write(response, "采购合同信息.xls", "数据", SupplierContractRespVO.class,
|
|
|
- BeanUtils.toBean(list, SupplierContractRespVO.class));
|
|
|
+ list);
|
|
|
}
|
|
|
|
|
|
// ==================== 子表(采购合同历史信息) ====================
|