From 89f79f9181eefc39506f72735ea8ed502bb855ee Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Fri, 8 Nov 2024 12:51:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E5=AD=98=E9=AA=8C=E6=94=B6=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseCheckInfoController.java | 22 +++++++++---- .../purchase/domain/dto/PurchaseDto.java | 2 +- .../mapper/PurchaseCheckDetailsMapper.java | 4 ++- .../service/IPurchaseCheckInfoService.java | 4 ++- .../impl/PurchaseCheckInfoServiceImpl.java | 31 ++++++++++++++++--- .../material/task/mapper/TmTaskMapper.java | 2 +- .../purchase/PurchaseCheckDetailsMapper.xml | 10 ++++++ 7 files changed, 61 insertions(+), 14 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java index 0fb8b7c6..9687d5bd 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java @@ -4,7 +4,6 @@ import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import com.bonus.common.log.enums.OperaType; @@ -18,7 +17,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import com.bonus.common.log.annotation.SysLog; -import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.material.purchase.domain.PurchaseCheckInfo; import com.bonus.material.purchase.service.IPurchaseCheckInfoService; import com.bonus.common.core.web.controller.BaseController; @@ -95,15 +93,27 @@ public class PurchaseCheckInfoController extends BaseController { } /** - * 验收API + * 外层批量验收API */ @ApiOperation(value = "外层批量验收API") @PreventRepeatSubmit //@RequiresPermissions("purchase:info:edit") @SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->外层批量验收API") - @PutMapping("/verify") - public AjaxResult verify(@RequestBody PurchaseDto purchaseDto) { - return purchaseCheckInfoService.verify(purchaseDto); + @PutMapping("/outerVerify") + public AjaxResult outerVerify(@RequestBody PurchaseDto purchaseDto) { + return purchaseCheckInfoService.outVerify(purchaseDto); + } + + /** + * 外层批量验收API + */ + @ApiOperation(value = "内层批量验收API") + @PreventRepeatSubmit + //@RequiresPermissions("purchase:info:edit") + @SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->内层批量验收API") + @PutMapping("/innerVerify") + public AjaxResult innerVerify(@RequestBody PurchaseCheckDto purchaseCheckDto) { + return purchaseCheckInfoService.innerVerify(purchaseCheckDto); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/dto/PurchaseDto.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/dto/PurchaseDto.java index 2b9c9fdd..c52a2f7f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/dto/PurchaseDto.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/dto/PurchaseDto.java @@ -42,7 +42,7 @@ public class PurchaseDto { private String keyWord; @ApiModelProperty(value = "状态") - private Integer status; + private Long status; @ApiModelProperty(value = "出厂日期") private String productDate; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java index 283d6d6a..a81d0e11 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java @@ -80,7 +80,9 @@ public interface PurchaseCheckDetailsMapper { * @param taskId 任务id * @param newTaskStatus 新状态 */ - int batchUpdateDetailsTaskStatus(@Param("taskId") Long taskId, @Param("newTaskStatus") Integer newTaskStatus); + int batchUpdateDetailsTaskStatus(@Param("taskId") Long taskId, @Param("newTaskStatus") Long newTaskStatus); + + int getCountOfNoneThisStatus(@Param("taskId") Long taskId, @Param("newTaskStatus") Long newTaskStatus); /** * 删除新购验收任务详细 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java index 181d197a..297365a6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java @@ -48,7 +48,9 @@ public interface IPurchaseCheckInfoService { // */ // AjaxResult acceptance(List taskId); - AjaxResult verify(PurchaseDto purchaseDto); + AjaxResult outVerify(PurchaseDto purchaseDto); + + AjaxResult innerVerify(PurchaseCheckDto purchaseCheckDto); /** * 根据任务id查询验收单 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java index ef321adf..f6f9943d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java @@ -224,7 +224,8 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { } @Override - public AjaxResult verify(PurchaseDto purchaseDto) { + @Transactional + public AjaxResult outVerify(PurchaseDto purchaseDto) { try { AjaxResult result = new AjaxResult(); purchaseDto.getTaskIds().removeIf(Objects::isNull); @@ -232,18 +233,40 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { boolean updateResult = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, purchaseDto.getStatus() ) > 0; - if (updateResult) { result = purchaseCheckDetailsMapper.batchUpdateDetailsTaskStatus(taskId, purchaseDto.getStatus() - ) > 0 ? AjaxResult.success("验收通过,修改任务状态成功") : AjaxResult.error("修改任务明细失败"); + ) > 0 ? AjaxResult.success("验收状态更改成功") : AjaxResult.error("验收状态更改失败"); } else { result = AjaxResult.error("SQL未报错,但修改任务0条"); } } return result; } catch (Exception e) { - return AjaxResult.error("修改任务失败,SQL异常报错:" + e.getMessage()); + return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage()); + } + } + + @Override + @Transactional + public AjaxResult innerVerify(PurchaseCheckDto purchaseCheckDto) { + try { + AjaxResult result = new AjaxResult(); + Long taskId = purchaseCheckDto.getPurchaseCheckInfo().getTaskId(); + Long status = purchaseCheckDto.getPurchaseCheckDetailsList().get(0).getStatus(); + for (PurchaseCheckDetails details : purchaseCheckDto.getPurchaseCheckDetailsList()) { + result = purchaseCheckDetailsMapper.batchUpdateDetailsTaskStatus(taskId, + details.getStatus() + ) > 0 ? AjaxResult.success("details验收状态更改成功") : AjaxResult.error("details验收状态更改失败"); + } + //查询是否这个taskId是否已全部验收通过,如果是的,更新整个task的任务状态 + int count = purchaseCheckDetailsMapper.getCountOfNoneThisStatus(taskId, status); + if (count == 0) { + result = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, status) > 0 ? AjaxResult.success("task验收状态更改成功") : AjaxResult.error("task验收状态更改失败"); + } + return result; + } catch (Exception e) { + return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage()); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java index e6e5dc82..7be92a9f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java @@ -57,7 +57,7 @@ public interface TmTaskMapper { * @param taskId 任务id 必传 * @param newTaskStatus 新状态 */ - int updateTmTaskStatusByTaskId(@Param("taskId") Long taskId, @Param("newTaskStatus") Integer newTaskStatus); + int updateTmTaskStatusByTaskId(@Param("taskId") Long taskId, @Param("newTaskStatus") Long newTaskStatus); /** * 删除任务 diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml index be669c17..149d0326 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml @@ -269,4 +269,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" del_flag = '0' and task_id = #{taskId} + + \ No newline at end of file