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);
- }
-}