diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/PurchaseTaskStatusEnum.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/PurchaseTaskStatusEnum.java index 9073ae7e..beec3d04 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/PurchaseTaskStatusEnum.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/PurchaseTaskStatusEnum.java @@ -36,13 +36,14 @@ public enum PurchaseTaskStatusEnum { // 判断任务状态是否为此阶段所属状态 public static boolean isStatusOfStage(Integer status, PurchaseTaskStageEnum stageEnum, Integer manageType) { - if (status == null || stageEnum == null || manageType == null) { + if (null == status || null == stageEnum || null == manageType) { return true; } + // 查询出数据是所属哪个状态 PurchaseTaskStatusEnum findEnum = PurchaseTaskStatusEnum.getByStatus(status); - if (findEnum == null) { + if (null == findEnum) { return true; } @@ -52,12 +53,17 @@ public enum PurchaseTaskStatusEnum { } // 如果是验收阶段, 并且是数量管理的物资,那么入库被驳回的也要判断为未完成,因为计数管理不需要绑定,直接从验收到入库 - if (stageEnum == PurchaseTaskStageEnum.CHECK) { - if (Objects.equals(findEnum, PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT) && Objects.equals(manageType, 1)) { + if (PurchaseTaskStageEnum.CHECK == stageEnum) { + if (PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT == findEnum && Objects.equals(manageType, 1)) { return true; } } + // 如果查询的是入库阶段、数据是待绑定,那么直接返回true:未完成 + if (PurchaseTaskStageEnum.STORE == stageEnum && (TO_BIND == findEnum || TO_STORE_AFTER_REJECT == findEnum)) { + return true; + } + return findEnum.getStage().equals(stageEnum.getCode()); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java deleted file mode 100644 index 94ce4e5d..00000000 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java +++ /dev/null @@ -1,138 +0,0 @@ -//package com.bonus.material.purchase.controller; -// -//import java.util.List; -//import javax.annotation.Resource; -//import javax.servlet.http.HttpServletResponse; -//import javax.validation.Valid; -//import javax.validation.constraints.NotNull; -// -//import com.bonus.common.log.enums.OperaType; -//import com.bonus.material.common.annotation.PreventRepeatSubmit; -//import com.bonus.material.purchase.domain.dto.PurchaseCheckFileDto; -//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.PurchaseCheckDetails; -//import com.bonus.material.purchase.service.IPurchaseCheckDetailsService; -//import com.bonus.common.core.web.controller.BaseController; -//import com.bonus.common.core.web.domain.AjaxResult; -//import com.bonus.common.core.utils.poi.ExcelUtil; -//import com.bonus.common.core.web.page.TableDataInfo; -// -///** -// * 新购验收任务详细Controller -// * @author syruan -// */ -//@Api(tags = "新购验收任务详细接口") -//@RestController -//@RequestMapping("/purchase_check_details") -//public class PurchaseCheckDetailsController extends BaseController { -// -// @Resource -// private IPurchaseCheckDetailsService purchaseCheckDetailsService; -// -// /** -// * 查询新购验收任务详细列表 -// */ -// @ApiOperation(value = "查询新购验收任务详细列表") -// @RequiresPermissions("purchase:details:list") -// @GetMapping("/list") -// public TableDataInfo list(PurchaseCheckDetails purchaseCheckDetails) { -// startPage(); -// List list = purchaseCheckDetailsService.selectPurchaseCheckDetailsList(purchaseCheckDetails); -// return getDataTable(list); -// } -// -// /** -// * 导出新购验收任务详细列表 -// */ -// @ApiOperation(value = "导出新购验收任务详细列表") -// @PreventRepeatSubmit -// @RequiresPermissions("purchase:details:export") -// @SysLog(title = "新购验收任务详细", businessType = OperaType.EXPORT, logType = 1,module = "物资新购->导出新购验收任务详细") -// @PostMapping("/export") -// public void export(HttpServletResponse response, PurchaseCheckDetails purchaseCheckDetails) { -// List list = purchaseCheckDetailsService.selectPurchaseCheckDetailsList(purchaseCheckDetails); -// ExcelUtil util = new ExcelUtil(PurchaseCheckDetails.class); -// util.exportExcel(response, list, "新购验收任务详细数据"); -// } -// -// /** -// * 获取新购验收任务详细详细信息 -// */ -// @ApiOperation(value = "获取新购验收任务详细详细信息") -// @RequiresPermissions("purchase:details:query") -// @GetMapping(value = "/{id}") -// public AjaxResult getInfo(@PathVariable("id") Long id) { -// return success(purchaseCheckDetailsService.selectPurchaseCheckDetailsById(id)); -// } -// -// /** -// * 新增新购验收任务详细 -// */ -// @ApiOperation(value = "新增新购验收任务详细") -// @PreventRepeatSubmit -// @RequiresPermissions("purchase:details:add") -// @SysLog(title = "新购验收任务详细", businessType = OperaType.INSERT, logType = 1,module = "物资新购->新增新购验收任务详细") -// @PostMapping -// public AjaxResult add(@RequestBody PurchaseCheckDetails purchaseCheckDetails) { -// try { -// return toAjax(purchaseCheckDetailsService.insertPurchaseCheckDetails(purchaseCheckDetails)); -// } catch (Exception e) { -// return error("系统错误, " + e.getMessage()); -// } -// } -// -// /** -// * 修改新购验收任务详细 -// */ -// @ApiOperation(value = "修改新购验收任务详细") -// @PreventRepeatSubmit -// @RequiresPermissions("purchase:details:edit") -// @SysLog(title = "新购验收任务详细", businessType = OperaType.UPDATE, module = "物资新购->修改新购验收任务详细") -// @PutMapping -// public AjaxResult edit(@RequestBody PurchaseCheckDetails purchaseCheckDetails) { -// try { -// return toAjax(purchaseCheckDetailsService.updatePurchaseCheckDetails(purchaseCheckDetails)); -// } catch (Exception e) { -// return error("系统错误, " + e.getMessage()); -// } -// } -// -// /** -// * 删除新购验收任务详细 -// */ -// @ApiOperation(value = "删除新购验收任务详细") -// @PreventRepeatSubmit -// @RequiresPermissions("purchase:details:remove") -// @SysLog(title = "新购验收任务详细", businessType = OperaType.DELETE, logType = 1,module = "物资新购->删除新购验收任务详细") -// @DeleteMapping("/{ids}") -// public AjaxResult remove(@PathVariable Long[] ids) { -// return toAjax(purchaseCheckDetailsService.deletePurchaseCheckDetailsByIds(ids)); -// } -// -// /** -// * 根据任务id查询报告附件 -// */ -// @ApiOperation(value = "根据任务id查询报告附件") -// @RequiresPermissions("purchase:details:query") -// @GetMapping("/fileList") -// @SysLog(title = "新购验收任务明细报告查询", businessType = OperaType.QUERY, module = "物资新购->根据任务id查询物资报告附件") -// public AjaxResult getFileList(PurchaseCheckFileDto purchaseCheckFileDto) { -// return success(purchaseCheckDetailsService.selectPurchaseCheckFileListByTaskType(purchaseCheckFileDto.getTaskType(), purchaseCheckFileDto.getTypeId())); -// } -// -// -// @ApiOperation(value = "上传报告附件") -// @PreventRepeatSubmit -// @RequiresPermissions("purchase:details:add") -// @SysLog(title = "上传报告附件", businessType = OperaType.INSERT, logType = 1,module = "物资新购->上传物资报告附件") -// @PostMapping("/uploadFile") -// public AjaxResult uploadFile(@RequestBody @NotNull @Valid PurchaseCheckFileDto purchaseCheckFileDto) { -// return purchaseCheckDetailsService.insertPurchaseCheckFile(purchaseCheckFileDto); -// } -// -// -//} 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 b2d2f547..4835d970 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 @@ -109,8 +109,12 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { ).collect(Collectors.toList()); break; case PURCHASE_TASK_STAGE_STORE: - purchaseCheckDetailsList = purchaseCheckDetailsList.stream().filter(o -> PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) || - PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) || PurchaseTaskStatusEnum.TASK_FINISHED.getStatus().equals(o.getStatus()) + purchaseCheckDetailsList = purchaseCheckDetailsList.stream().filter(o -> + PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) || + PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) || + PurchaseTaskStatusEnum.TASK_FINISHED.getStatus().equals(o.getStatus()) || + (PurchaseTaskStatusEnum.TO_BIND.getStatus().equals(o.getStatus()) && null != o.getBindNum() && 0 < o.getBindNum().compareTo(BigDecimal.ZERO)) || + (PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus().equals(o.getStatus()) && null != o.getBindNum() && 0 < o.getBindNum().compareTo(BigDecimal.ZERO)) ).collect(Collectors.toList()); break; default: @@ -128,7 +132,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { /** * 查询是否存在附件,给前端用于文件颜色判断 - * @param purchaseCheckDetailsList + * @param purchaseCheckDetailsList 新购验收明细列表 */ private void extractedExitFile(List purchaseCheckDetailsList) { if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) { @@ -219,8 +223,12 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { ).collect(Collectors.toList()); break; case PURCHASE_TASK_STAGE_STORE: - purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) || - PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) || PurchaseTaskStatusEnum.TASK_FINISHED.getStatus().equals(o.getStatus()) + purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> + PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) || + PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) || + PurchaseTaskStatusEnum.TASK_FINISHED.getStatus().equals(o.getStatus()) || + (PurchaseTaskStatusEnum.TO_BIND.getStatus().equals(o.getStatus()) && null != o.getBindNum() && 0 < o.getBindNum().compareTo(BigDecimal.ZERO)) || + (PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus().equals(o.getStatus()) && null != o.getBindNum() && 0 < o.getBindNum().compareTo(BigDecimal.ZERO)) ).collect(Collectors.toList()); break; default: diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java index 75438efa..21516a2c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java @@ -223,17 +223,18 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { if (CollectionUtils.isNotEmpty(purchaseVoList)) { for (PurchaseVo purchaseVo : purchaseVoList) { if (purchaseVo.getMaCode().equals(dto.getMaCode())) { - dto.setOutFacCode(purchaseVo.getOutFacCode() == null ? "" : purchaseVo.getOutFacCode()); - dto.setProductDate(purchaseVo.getProductDate() == null ? null : purchaseVo.getProductDate()); + dto.setOutFacCode(null == purchaseVo.getOutFacCode() ? "" : purchaseVo.getOutFacCode()); + dto.setProductDate(null == purchaseVo.getProductDate() ? null : purchaseVo.getProductDate()); } } } dto.setTypeId(purchaseDto.getTypeId()); - if (purchaseStorageMapper.updateMachineByCode(dto) < 1) {throw new RuntimeException("入库失败,更新物资入库状态0条");} - if (purchaseStorageMapper.updateStorageNum(BigDecimal.ONE, dto.getTypeId()) < 1) {throw new RuntimeException("入库失败,库存增加0");} + if (1 > purchaseStorageMapper.updateMachineByCode(dto)) {throw new RuntimeException("入库失败,更新物资入库状态0条");} + if (1 > purchaseStorageMapper.updateStorageNum(BigDecimal.ONE, dto.getTypeId())) {throw new RuntimeException("入库失败,库存增加0");} List bindMaList = purchaseBindMapper.getMachineById(purchaseDto); if (CollectionUtils.isNotEmpty(bindMaList)) { - result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE.getStatus(), Integer.parseInt(purchaseDto.getPurchaseId())); + // 还有已绑定的设备, 那就不动状态了,这块由设备绑定阶段来决定是否修改成待入库状态 by阮 2025-01-10号修改逻辑 + // result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE.getStatus(), Integer.parseInt(purchaseDto.getPurchaseId())); } else { result += purchaseStorageMapper.updateInputStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), Integer.parseInt(purchaseDto.getPurchaseId())); } @@ -242,7 +243,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { List statusList = purchaseStorageMapper.select(purchaseDto.getTaskId()); result += updateTaskStatus(statusList); purchaseDto.setPostStoreNum(getStorageNum(purchaseDto)); - if (result > 0) { + if (0 < result) { return AjaxResult.success("入库成功"); } } catch (Exception e) { 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 3207fea4..88c76869 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 @@ -120,12 +120,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and pcd.production_time between #{startTime} and #{endTime} - - - - - - and (mt.type_name like concat('%', #{keyWord}, '%') or mt.unit_name like concat('%', #{keyWord}, '%') diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseStorageMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseStorageMapper.xml index 0283ab8a..21c3c225 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseStorageMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseStorageMapper.xml @@ -41,7 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - UPDATE purchase_check_details SET `status` = if(bind_num = input_num, #{updatedStatus}, `status`) WHERE id = #{id} + UPDATE purchase_check_details SET `status` = if(check_num = input_num, #{updatedStatus}, `status`) WHERE id = #{id}