From 2edf5af00b9eb76b5d3a8619bcfe8248a9daa603 Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Tue, 20 Aug 2024 14:09:48 +0800 Subject: [PATCH] =?UTF-8?q?machine=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/mapper/LeaseOutDetailsMapper.java | 2 ++ .../impl/LeaseOutDetailsServiceImpl.java | 17 +++++++++++--- .../mapper/app/LeaseOutDetailsMapper.xml | 11 +++++++++ .../mapper/material/StorageStatusMapper.xml | 23 +++++++++++++++++-- 4 files changed, 48 insertions(+), 5 deletions(-) diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java index e5ee6756..445898c3 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java @@ -109,4 +109,6 @@ public interface LeaseOutDetailsMapper { int updateLeaseApplyDetails(@Param("record") LeaseOutDetails record); List getOutboundOrder(String parentId); + + int getCountOfCodeMachine(@Param("record") LeaseOutDetails record); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java index 249c2d61..3af9d78e 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java @@ -258,8 +258,15 @@ public class LeaseOutDetailsServiceImpl implements LeaseOutDetailsService { //判断(ma_type 设备规格表)中的库存够不够出库的 MaType maType = leaseOutDetailsMapper.selectByTypeId(record); if (maType != null) { - if (maType.getNum() == null || maType.getNum().compareTo(BigDecimal.valueOf(record.getOutNum())) < 0) { - return 0; + if ("0".equals(maType.getManageType())) { + int count = leaseOutDetailsMapper.getCountOfCodeMachine(record); + if (BigDecimal.valueOf(count).compareTo(BigDecimal.valueOf(record.getOutNum())) < 0) { + return 0; + } + } else if ("1".equals(maType.getManageType())) { + if (maType.getNum() == null || maType.getNum().compareTo(BigDecimal.valueOf(record.getOutNum())) < 0) { + return 0; + } } } return 1; @@ -272,7 +279,11 @@ public class LeaseOutDetailsServiceImpl implements LeaseOutDetailsService { //判断(ma_type 设备规格表)中的库存够不够出库的 MaType maType = leaseOutDetailsMapper.selectByTypeId(record); if (maType != null) { - return maType.getNum().intValue(); + if ("1".equals(maType.getManageType())) { + return maType.getNum().intValue(); + } else { + return leaseOutDetailsMapper.getCountOfCodeMachine(record); + } } return 0; } diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseOutDetailsMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseOutDetailsMapper.xml index cd5edce3..7be081ab 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseOutDetailsMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseOutDetailsMapper.xml @@ -476,5 +476,16 @@ WHERE lod.parent_id = #{parentId} + \ No newline at end of file diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/StorageStatusMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/StorageStatusMapper.xml index b2f25103..4615f24c 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/StorageStatusMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/StorageStatusMapper.xml @@ -8,12 +8,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT mt2.type_name as typeName, mt.type_name as typeModelName, mt.unit_name as unit, - IFNULL(mt.num, 0) as num, + CASE mt.manage_type + WHEN 0 THEN + IFNULL(subquery0.num, 0) + ELSE + IFNULL(mt.num, 0) + END as num, IFNULL(subquery1.usNum, 0) as usNum, IFNULL(subquery2.repairNum, 0) as repairNum, IFNULL(subquery3.repairInputNum, 0) as repairInputNum, IFNULL(subquery4.inputNum, 0) as inputNum, - IFNULL(mt.num, 0) + IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.repairNum, 0) + IFNULL(subquery3.repairInputNum, 0) as allNum, + CASE mt.manage_type + WHEN 0 THEN + IFNULL(subquery0.num, 0)+ IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.repairNum, 0) + IFNULL(subquery3.repairInputNum, 0) + ELSE + IFNULL(mt.num, 0)+ IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.repairNum, 0) + IFNULL(subquery3.repairInputNum, 0) + END as allNum, CASE mt.manage_type WHEN 0 THEN '否' @@ -22,6 +32,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" END manageType FROM ma_type mt + LEFT JOIN (SELECT mt.type_id, + mt2.type_name AS typeName, + mt.type_name AS typeModelName, + count(mm.ma_id) num + FROM ma_machine mm + LEFT JOIN ma_type mt ON mt.type_id = mm.type_id + LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id + WHERE mm.ma_code is not null and mm.ma_status in (15) + GROUP BY mt.type_id) AS subquery0 ON subquery0.type_id = mt.type_id LEFT JOIN (SELECT subquery1.type_id, subquery1.typeName, subquery1.typeModelName,