diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectApplyController.java new file mode 100644 index 0000000..b7dae53 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectApplyController.java @@ -0,0 +1,156 @@ +package com.casic.missiles.controller.business; + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListRequest; +import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListResponse; +import com.casic.missiles.dto.business.outsource.OutsourceProjectSaveResponse; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessOutsourceProject; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOutsourceProjectService; +import com.casic.missiles.utils.DictCodeUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 分包项目表 前端控制器 + *

+ * + * @author wangpeng + * @since 2023-03-25 + */ +@Api(tags = "分包管理接口-分包项目申请") +@Slf4j +@RestController +@RequestMapping("/business/outsourceProject/apply") +public class BusinessOutsourceProjectApplyController extends ExportController { + @Autowired + private IBusinessOutsourceProjectService projectService; + + @ApiOperation("分包项目申请审批列表(分页)") + @PostMapping("/approval/listPage") + public ReturnDTO> approvalListPage(@RequestBody @Valid OutsourceProjectApprovalListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + DictCodeUtils.validDictCode(request); + Page page = PageFactory.defaultPage(); + List responseList = projectService.projectApplyApprovalListPage(request, page); + page.setRecords(responseList); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("分包项目申请审批保存(保存至草稿箱)") + @PostMapping("/save") + @ResponseBody + public ReturnDTO save(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(outsourceProject.getDtos()), () -> { + throw new BusinessException(BusinessExceptionEnum.SAMPLE_ORDER_IDS_NULL); + }); + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + DictCodeUtils.validDictCode(outsourceProject); + return projectService.saveProjectApply(outsourceProject); + } + + @ApiOperation("草稿箱分包项目申请编辑") + @PostMapping("/draftUpdate") + @ResponseBody + public ReturnDTO draftUpdate(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) throws Exception { + Assert.isFalse(Objects.isNull(outsourceProject.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(CollectionUtils.isEmpty(outsourceProject.getDtos()), () -> { + throw new BusinessException(BusinessExceptionEnum.SAMPLE_ORDER_IDS_NULL); + }); + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + DictCodeUtils.validDictCode(outsourceProject); + return projectService.projectApplyDraftUpdate(outsourceProject); + } + + @ApiOperation("分包项目申请提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)") + @PostMapping("/submit") + @ResponseBody + public ReturnDTO submit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return projectService.submitProjectApply(request); + } + + @ApiOperation("分包项目申请删除(草稿删除也调用该接口)") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return projectService.projectDelete(idDTO.getId()); + } + +// @ApiOperation("分包项目申请批量删除") +// @PostMapping("/batchDelete") +// @ResponseBody +// public ReturnDTO batchDelete(@RequestBody @Valid IdsDTO idsDTO) { +// Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// return projectService.deleteBatchProject(idsDTO.getIds()); +// } + + @ApiOperation("分包项目申请详情") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) throws Exception { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return projectService.projectDetail(idDTO.getId()); + } + + @ApiOperation("分包项目申请审批操作-删除") + @PostMapping("/approval/operate/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return projectService.projectApplyApprovalDelete(request); + } + + @ApiOperation("未通过分包项目申请编辑(驳回后的分包项目申请重新编辑,仅未通过列表中的编辑按钮可调用)") + @PostMapping("/failUpdate") + @ResponseBody + public ReturnDTO failUpdate(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(outsourceProject.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return projectService.failUpdate(outsourceProject); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectApplyController.java new file mode 100644 index 0000000..b7dae53 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectApplyController.java @@ -0,0 +1,156 @@ +package com.casic.missiles.controller.business; + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListRequest; +import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListResponse; +import com.casic.missiles.dto.business.outsource.OutsourceProjectSaveResponse; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessOutsourceProject; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOutsourceProjectService; +import com.casic.missiles.utils.DictCodeUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 分包项目表 前端控制器 + *

+ * + * @author wangpeng + * @since 2023-03-25 + */ +@Api(tags = "分包管理接口-分包项目申请") +@Slf4j +@RestController +@RequestMapping("/business/outsourceProject/apply") +public class BusinessOutsourceProjectApplyController extends ExportController { + @Autowired + private IBusinessOutsourceProjectService projectService; + + @ApiOperation("分包项目申请审批列表(分页)") + @PostMapping("/approval/listPage") + public ReturnDTO> approvalListPage(@RequestBody @Valid OutsourceProjectApprovalListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + DictCodeUtils.validDictCode(request); + Page page = PageFactory.defaultPage(); + List responseList = projectService.projectApplyApprovalListPage(request, page); + page.setRecords(responseList); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("分包项目申请审批保存(保存至草稿箱)") + @PostMapping("/save") + @ResponseBody + public ReturnDTO save(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(outsourceProject.getDtos()), () -> { + throw new BusinessException(BusinessExceptionEnum.SAMPLE_ORDER_IDS_NULL); + }); + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + DictCodeUtils.validDictCode(outsourceProject); + return projectService.saveProjectApply(outsourceProject); + } + + @ApiOperation("草稿箱分包项目申请编辑") + @PostMapping("/draftUpdate") + @ResponseBody + public ReturnDTO draftUpdate(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) throws Exception { + Assert.isFalse(Objects.isNull(outsourceProject.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(CollectionUtils.isEmpty(outsourceProject.getDtos()), () -> { + throw new BusinessException(BusinessExceptionEnum.SAMPLE_ORDER_IDS_NULL); + }); + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + DictCodeUtils.validDictCode(outsourceProject); + return projectService.projectApplyDraftUpdate(outsourceProject); + } + + @ApiOperation("分包项目申请提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)") + @PostMapping("/submit") + @ResponseBody + public ReturnDTO submit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return projectService.submitProjectApply(request); + } + + @ApiOperation("分包项目申请删除(草稿删除也调用该接口)") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return projectService.projectDelete(idDTO.getId()); + } + +// @ApiOperation("分包项目申请批量删除") +// @PostMapping("/batchDelete") +// @ResponseBody +// public ReturnDTO batchDelete(@RequestBody @Valid IdsDTO idsDTO) { +// Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// return projectService.deleteBatchProject(idsDTO.getIds()); +// } + + @ApiOperation("分包项目申请详情") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) throws Exception { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return projectService.projectDetail(idDTO.getId()); + } + + @ApiOperation("分包项目申请审批操作-删除") + @PostMapping("/approval/operate/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return projectService.projectApplyApprovalDelete(request); + } + + @ApiOperation("未通过分包项目申请编辑(驳回后的分包项目申请重新编辑,仅未通过列表中的编辑按钮可调用)") + @PostMapping("/failUpdate") + @ResponseBody + public ReturnDTO failUpdate(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(outsourceProject.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return projectService.failUpdate(outsourceProject); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectCheckController.java new file mode 100644 index 0000000..f44d54c --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectCheckController.java @@ -0,0 +1,23 @@ +package com.casic.missiles.controller.business; + +import com.casic.missiles.core.base.controller.ExportController; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 分包项目表 前端控制器 + *

+ * + * @author wangpeng + * @since 2023-03-25 + */ +@Api(tags = "分包管理接口-分包项目验收") +@Slf4j +@RestController +@RequestMapping("/business/outsourceProject/check") +public class BusinessOutsourceProjectCheckController extends ExportController { + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectApplyController.java new file mode 100644 index 0000000..b7dae53 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectApplyController.java @@ -0,0 +1,156 @@ +package com.casic.missiles.controller.business; + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListRequest; +import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListResponse; +import com.casic.missiles.dto.business.outsource.OutsourceProjectSaveResponse; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessOutsourceProject; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOutsourceProjectService; +import com.casic.missiles.utils.DictCodeUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 分包项目表 前端控制器 + *

+ * + * @author wangpeng + * @since 2023-03-25 + */ +@Api(tags = "分包管理接口-分包项目申请") +@Slf4j +@RestController +@RequestMapping("/business/outsourceProject/apply") +public class BusinessOutsourceProjectApplyController extends ExportController { + @Autowired + private IBusinessOutsourceProjectService projectService; + + @ApiOperation("分包项目申请审批列表(分页)") + @PostMapping("/approval/listPage") + public ReturnDTO> approvalListPage(@RequestBody @Valid OutsourceProjectApprovalListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + DictCodeUtils.validDictCode(request); + Page page = PageFactory.defaultPage(); + List responseList = projectService.projectApplyApprovalListPage(request, page); + page.setRecords(responseList); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("分包项目申请审批保存(保存至草稿箱)") + @PostMapping("/save") + @ResponseBody + public ReturnDTO save(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(outsourceProject.getDtos()), () -> { + throw new BusinessException(BusinessExceptionEnum.SAMPLE_ORDER_IDS_NULL); + }); + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + DictCodeUtils.validDictCode(outsourceProject); + return projectService.saveProjectApply(outsourceProject); + } + + @ApiOperation("草稿箱分包项目申请编辑") + @PostMapping("/draftUpdate") + @ResponseBody + public ReturnDTO draftUpdate(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) throws Exception { + Assert.isFalse(Objects.isNull(outsourceProject.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(CollectionUtils.isEmpty(outsourceProject.getDtos()), () -> { + throw new BusinessException(BusinessExceptionEnum.SAMPLE_ORDER_IDS_NULL); + }); + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + DictCodeUtils.validDictCode(outsourceProject); + return projectService.projectApplyDraftUpdate(outsourceProject); + } + + @ApiOperation("分包项目申请提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)") + @PostMapping("/submit") + @ResponseBody + public ReturnDTO submit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return projectService.submitProjectApply(request); + } + + @ApiOperation("分包项目申请删除(草稿删除也调用该接口)") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return projectService.projectDelete(idDTO.getId()); + } + +// @ApiOperation("分包项目申请批量删除") +// @PostMapping("/batchDelete") +// @ResponseBody +// public ReturnDTO batchDelete(@RequestBody @Valid IdsDTO idsDTO) { +// Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// return projectService.deleteBatchProject(idsDTO.getIds()); +// } + + @ApiOperation("分包项目申请详情") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) throws Exception { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return projectService.projectDetail(idDTO.getId()); + } + + @ApiOperation("分包项目申请审批操作-删除") + @PostMapping("/approval/operate/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return projectService.projectApplyApprovalDelete(request); + } + + @ApiOperation("未通过分包项目申请编辑(驳回后的分包项目申请重新编辑,仅未通过列表中的编辑按钮可调用)") + @PostMapping("/failUpdate") + @ResponseBody + public ReturnDTO failUpdate(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(outsourceProject.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return projectService.failUpdate(outsourceProject); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectCheckController.java new file mode 100644 index 0000000..f44d54c --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectCheckController.java @@ -0,0 +1,23 @@ +package com.casic.missiles.controller.business; + +import com.casic.missiles.core.base.controller.ExportController; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 分包项目表 前端控制器 + *

+ * + * @author wangpeng + * @since 2023-03-25 + */ +@Api(tags = "分包管理接口-分包项目验收") +@Slf4j +@RestController +@RequestMapping("/business/outsourceProject/check") +public class BusinessOutsourceProjectCheckController extends ExportController { + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectController.java deleted file mode 100644 index 0c4aa69..0000000 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOutsourceProjectController.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.casic.missiles.controller.business; - -import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.core.page.PageInfoBT; -import com.casic.missiles.dto.BaseApprovalSubmitRequest; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListRequest; -import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListResponse; -import com.casic.missiles.dto.business.outsource.OutsourceProjectSaveResponse; -import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.business.BusinessOutsourceProject; -import com.casic.missiles.model.exception.enums.CoreExceptionEnum; -import com.casic.missiles.service.business.IBusinessOutsourceProjectService; -import com.casic.missiles.utils.DictCodeUtils; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; -import java.util.Objects; - -/** - *

- * 分包项目表 前端控制器 - *

- * - * @author wangpeng - * @since 2023-03-25 - */ -@Api(tags = "分包管理接口-分包项目申请") -@Slf4j -@RestController -@RequestMapping("/business/outsourceProject") -public class BusinessOutsourceProjectController extends ExportController { - @Autowired - private IBusinessOutsourceProjectService projectService; - - @ApiOperation("分包项目审批列表(分页)") - @PostMapping("/approval/listPage") - public ReturnDTO> outsourcerApprovalListPage(@RequestBody @Valid OutsourceProjectApprovalListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - DictCodeUtils.validDictCode(request); - Page page = PageFactory.defaultPage(); - List responseList = projectService.projectApprovalListPage(request, page); - page.setRecords(responseList); - return ReturnUtil.success(super.packForBT(page)); - } - - @ApiOperation("分包项目审批保存(保存至草稿箱)") - @PostMapping("/save") - @ResponseBody - public ReturnDTO save(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) throws Exception { - if(bindingResult.hasErrors()){ - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - DictCodeUtils.validDictCode(outsourceProject); - return projectService.saveProject(outsourceProject); - } - - @ApiOperation("草稿箱分包项目编辑") - @PostMapping("/draftUpdate") - @ResponseBody - public ReturnDTO draftUpdate(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) throws Exception { - Assert.isFalse(Objects.isNull(outsourceProject.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - if(bindingResult.hasErrors()){ - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - DictCodeUtils.validDictCode(outsourceProject); - return projectService.draftUpdate(outsourceProject); - } - - @ApiOperation("分包项目提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)") - @PostMapping("/submit") - @ResponseBody - public ReturnDTO submit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { - if(bindingResult.hasErrors()){ - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return projectService.submitProject(request); - } - - @ApiOperation("分包项目删除(草稿删除也调用该接口)") - @PostMapping("/delete") - @ResponseBody - public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return projectService.deleteProject(idDTO.getId()); - } - -// @ApiOperation("分包项目批量删除") -// @PostMapping("/batchDelete") -// @ResponseBody -// public ReturnDTO batchDelete(@RequestBody @Valid IdsDTO idsDTO) { -// Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> { -// throw new BusinessException(BusinessExceptionEnum.ID_NULL); -// }); -// return projectService.deleteBatchProject(idsDTO.getIds()); -// } - - @ApiOperation("分包项目详情") - @PostMapping("/detail") - @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) throws Exception { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return projectService.projectDetail(idDTO.getId()); - } - - @ApiOperation("分包项目审批操作-删除") - @PostMapping("/approval/operate/delete") - @ResponseBody - public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { - if(bindingResult.hasErrors()){ - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return projectService.approvalDelete(request); - } - - @ApiOperation("未通过分包项目编辑(驳回后的分包项目重新编辑,仅未通过列表中的编辑按钮可调用)") - @PostMapping("/failUpdate") - @ResponseBody - public ReturnDTO failUpdate(@RequestBody @Valid BusinessOutsourceProject outsourceProject, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(outsourceProject.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return projectService.failUpdate(outsourceProject); - } -}