From f9b58fcf5b3068d2bd2ec006fdb99a137f0b00aa Mon Sep 17 00:00:00 2001 From: mashuai Date: Sat, 16 Nov 2024 14:37:43 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=80=80=E6=96=99=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/enums/PurchaseTaskStatusEnum.java | 18 +++++ .../controller/PurchaseStorageController.java | 1 - .../service/impl/PurchaseBindServiceImpl.java | 45 +---------- .../impl/PurchaseStorageServiceImpl.java | 80 ++++++------------- .../material/purchase/PurchaseBindMapper.xml | 6 +- .../purchase/PurchaseStorageMapper.xml | 44 +--------- 6 files changed, 52 insertions(+), 142 deletions(-) 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 63ad4c2a..3846f5a7 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 @@ -27,4 +27,22 @@ public enum PurchaseTaskStatusEnum { this.status = status; this.statusName = statusName; } + + + public static PurchaseTaskStatusEnum getByStatus(Integer status) { + for (PurchaseTaskStatusEnum statusEnum : values()) { + if (statusEnum.status.equals(status)) { + return statusEnum; + } + } + return null; + } + + public Integer getStatus() { + return status; + } + + public String getStatusName() { + return statusName; + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseStorageController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseStorageController.java index 3f40109a..3929aafd 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseStorageController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseStorageController.java @@ -3,7 +3,6 @@ package com.bonus.material.purchase.controller; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; import com.bonus.common.security.annotation.RequiresPermissions; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java index b1e51bc1..7c72d0c8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java @@ -63,7 +63,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { // 检查是否全部为 1 boolean allOnes = true; for (String manageType : split) { - if (!MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(manageType.trim())) { + if (MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(Integer.valueOf(manageType.trim()))) { allOnes = false; // 发现不是 1,跳出循环 break; @@ -74,53 +74,10 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { iterator.remove(); } } - //extracted(list); } return list; } - /** - * 远程调用方法抽取 - * @param list - */ -// private void extracted(List list) { -// Long[] array = list.stream() -// // 提取 createBy 字段 -// .map(PurchaseVo::getCreateBy) -// .map(createBy -> { -// try { -// // 转换为 Long -// return Long.parseLong(createBy); -// } catch (NumberFormatException e) { -// // 处理转换失败的情况,可以返回 null -// return null; -// } -// }) -// // 过滤掉 null 值 -// .filter(value -> value != null) -// // 转换为 Long[] 数组 -// .toArray(Long[]::new); -// //Map nickNameMap = remoteConfig.getUserName(array); -// Map labelMap = remoteConfig.getDictValue("purchase_task_status"); -// // 更新 list 中每个 PurchaseVo 对象的 name 字段 -// list.forEach(purchaseVo -> { -// // 更新 createBy 为 nickName -//// String createBy = purchaseVo.getCreateBy(); -//// if (StringUtils.isNotBlank(createBy)) { -//// Long createById = Long.parseLong(createBy); -//// String nickName = nickNameMap.get(createById); -//// purchaseVo.setCreateBy(nickName != null ? nickName : createBy); -//// purchaseVo.setCreateBy(nickName != null ? nickName : createBy); // 设置为 nickName 或原值 -//// } -// // 更新状态名称 -// Integer status = purchaseVo.getStatus(); -// if (status != null) { -// String dictValue = labelMap.get(status.toString()); -// purchaseVo.setStatusName(dictValue); -// } -// }); -// } - /** * 查询绑定信息 * @param dto 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 5d8be126..0aca7924 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 @@ -53,50 +53,14 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { @Override public List selectAll(PurchaseDto dto) { List list = purchaseStorageMapper.selectAll(dto); - extracted(list); + if (CollectionUtils.isNotEmpty(list)) { + for (PurchaseVo purchaseVo : list) { + purchaseVo.setStatusName(String.valueOf(PurchaseTaskStatusEnum.getByStatus(purchaseVo.getStatus()))); + } + } return list; } - /** - * 远程调用方法抽取 - * @param list - */ - private void extracted(List list) { - Long[] array = list.stream() - // 提取 createBy 字段 - .map(PurchaseVo::getCreateBy) - .map(createBy -> { - try { - // 转换为 Long - return Long.parseLong(createBy); - } catch (NumberFormatException e) { - // 处理转换失败的情况,可以返回 null - return null; - } - }) - // 过滤掉 null 值 - .filter(value -> value != null) - .toArray(Long[]::new);// 转换为 Long[] 数组 - Map nickNameMap = remoteConfig.getUserName(array); - Map labelMap = remoteConfig.getDictValue("purchase_task_status"); - // 更新 list 中每个 PurchaseVo 对象的 name 字段 - list.forEach(purchaseVo -> { - // 更新 createBy 为 nickName - String createBy = purchaseVo.getCreateBy(); - if (StringUtils.isNotBlank(createBy)) { - Long createById = Long.parseLong(createBy); - String nickName = nickNameMap.get(createById); - purchaseVo.setCreateBy(nickName != null ? nickName : createBy); // 设置为 nickName 或原值 - } - // 更新状态名称 - Integer status = purchaseVo.getStatus(); - if (status != null) { - String dictValue = labelMap.get(status.toString()); - purchaseVo.setStatusName(dictValue); - } - }); - } - /** * 查询二级明细详情 * @param dto @@ -161,17 +125,21 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { * @return */ private AjaxResult rejectByPurchaseIds(PurchaseDto purchaseDto) { + List purchaseIdList = parseIds(purchaseDto.getPurchaseId()); purchaseDto.setStatus(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()); int result = 0; try { - List details = purchaseBindMapper.getDetails(purchaseDto); - if (CollectionUtils.isNotEmpty(details)) { - result += updateRejectAndStatus(Integer.parseInt(purchaseDto.getPurchaseId())); - List statusList = purchaseStorageMapper.select(details.get(0).getTaskId().toString()); - result += updateTaskStatus(statusList); - } - if (result > 0) { - return AjaxResult.success("驳回成功"); + for (Integer purchaseId : purchaseIdList) { + purchaseDto.setPurchaseId(String.valueOf(purchaseId)); + List details = purchaseBindMapper.getDetails(purchaseDto); + if (CollectionUtils.isNotEmpty(details)) { + result += updateRejectAndStatus(purchaseId); + List statusList = purchaseStorageMapper.select(details.get(0).getTaskId().toString()); + result += updateTaskStatus(statusList); + } + if (result > 0) { + return AjaxResult.success("驳回成功"); + } } } catch (Exception e) { throw new RuntimeException(e); @@ -229,7 +197,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { try { List details = purchaseBindMapper.getDetails(purchaseDto); if (CollectionUtils.isNotEmpty(details)) { - result += updatePurchaseInfoAndDetails(details.get(0), Integer.parseInt(purchaseDto.getPurchaseId())); + result += updatePurchaseInfoAndDetails(details, details.get(0), Integer.parseInt(purchaseDto.getPurchaseId())); List statusList = purchaseStorageMapper.select(details.get(0).getTaskId().toString()); result += updateTaskStatus(statusList); } @@ -248,10 +216,12 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { * @param purchaseId * @return */ - private int updatePurchaseInfoAndDetails(PurchaseVo detail, int purchaseId) { + private int updatePurchaseInfoAndDetails(List details, PurchaseVo detail, int purchaseId) { int result = purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), purchaseId); if (MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(Integer.valueOf(detail.getManageType()))) { - result += purchaseStorageMapper.insertMachine(detail); + for (PurchaseVo purchaseVo : details) { + result += purchaseStorageMapper.insertMachine(purchaseVo); + } } else if (MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(Integer.valueOf(detail.getManageType()))) { result += purchaseStorageMapper.updateStorageNum(detail.getBindNum(), detail.getTypeId()); } @@ -320,10 +290,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { Integer id = entry.getKey(); List statusList = entry.getValue(); if (statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus()) || statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus())) { - return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, id.toString()); + return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus(), id.toString()); } else if (!statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus()) && !statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()) - && statusList.contains(PurchaseTaskStatusEnum.IN_STORE.getStatus())) { - return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), id.toString()); + && statusList.stream().allMatch(status -> status.equals(PurchaseTaskStatusEnum.IN_STORE.getStatus()))) { + return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.TASK_FINISHED.getStatus(), id.toString()); } return 0; }).sum(); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml index 13eec91a..feffd062 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml @@ -216,7 +216,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ms.supplier AS supplierName, pcd.production_time AS productDate, mt.manage_type AS manageType, - pcd.`status` AS STATUS + pcd.`status` AS STATUS, + pm.ma_code AS maCode, + pm.out_fac_code AS outFacCode, + pm.qr_code AS qrCode FROM purchase_check_details pcd LEFT JOIN tm_task tt ON pcd.task_id = tt.task_id @@ -224,6 +227,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id LEFT JOIN ma_supplier_info ms ON pcd.supplier_id = ms.supplier_id + LEFT JOIN purchase_macode_info pm on pcd.task_id = pm.task_id and pm.type_id = pcd.type_id where 1 = 1 AND mt.id = #{typeId} 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 5aed2901..dcf6823d 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 @@ -9,56 +9,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" type_id, ma_code, - pre_code, ma_status, qr_code, - buy_price, - ma_vender, - out_fac_time, out_fac_code, - assets_code, - check_man, - this_check_time, - next_check_time, - gps_code, - rfid_code, - erp_code, - transfer_code, - in_out_num, - buy_task, - own_house, - company_id, - create_time, - inspect_man, - inspect_status, - phone, + create_time #{typeId}, #{maCode}, - #{preCode}, - #{maStatus}, + 1, #{qrCode}, - #{buyPrice}, - #{maVender}, - #{outFacTime}, #{outFacCode}, - #{assetsCode}, - #{checkMan}, - #{thisCheckTime}, - #{nextCheckTime}, - #{gpsCode}, - #{rfidCode}, - #{erpCode}, - #{transferCode}, - #{inOutNum}, - #{buyTask}, - #{ownHouse}, - #{companyId}, - now(), - #{inspectMan}, - #{inspectStatus}, - #{phone}, + now() From c8fbc97cfa75a1aba608d61447821f4970cb5227 Mon Sep 17 00:00:00 2001 From: mashuai Date: Sat, 16 Nov 2024 14:40:00 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=80=80=E6=96=99=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/material/purchase/PurchaseStorageMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 dcf6823d..9eade9d8 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 @@ -9,7 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" type_id, ma_code, - ma_status, + ma_status, qr_code, out_fac_code, create_time @@ -17,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{typeId}, #{maCode}, - 1, + 1, #{qrCode}, #{outFacCode}, now()