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,