Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

zhangcl 1 өдөр өмнө
parent
commit
46afcbc2f2

+ 18 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java

@@ -400,6 +400,24 @@ public class IotOpeationFillController {
             return;
         }
 
+        // 2. 使用Stream.allMatch()判断所有元素是否满足两个条件(同时满足)
+        boolean allMatch = allFillData.stream()
+                .allMatch(vo -> {
+                    // 条件1:isSum == 0(处理包装类型null的情况,避免空指针)
+                    boolean isSumEquals0 = Objects.nonNull(vo.getIsSum()) && vo.getIsSum().equals(0);
+                    // 条件2:deviceCode 是空串(包含null和""两种情况)
+                    // 方式A:使用StringUtils.isEmpty(推荐,简洁)
+                    boolean deviceCodeIsEmpty = StringUtils.isEmpty(vo.getDeviceCode());
+                    // 方式B:手动双重判断(不依赖第三方工具)
+                    // boolean deviceCodeIsEmpty = vo.getDeviceCode() == null || vo.getDeviceCode().trim().isEmpty();
+
+                    // 两个条件必须同时满足(逻辑与 &&)
+                    return isSumEquals0 && deviceCodeIsEmpty;
+                });
+        if(allMatch){
+            return;
+        }
+
         // 1. 合并过滤逻辑:一次性过滤出累计数据,按sumId分组(避免两次流式过滤)
         Map<Long, List<IotOpeationFillSaveReqVO>> sumDataGroup = allFillData.stream()
                 .filter(fill -> 1 == fill.getIsSum())

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/IotReportDeviceController.java

@@ -271,7 +271,7 @@ public class IotReportDeviceController {
                     if (Objects.nonNull(dept1)) {
                         e.setCompany(dept1.getName());
                     }
-                } else if ("3".equals(dept.getName())) {
+                } else if ("3".equals(dept.getType())) {
                     e.setDeptName(dept.getName());
                     DeptRespDTO dept1 = deptApi.getDept(dept.getParentId());
                     if (Objects.nonNull(dept1)) {

+ 13 - 13
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/IotReportOrderController.java

@@ -127,9 +127,9 @@ public class IotReportOrderController {
         createTime[0] = lastYearStart;
         createTime[1] = lastYearEnd;
         pageReqVO.setCreateTime(createTime);
-        hbWxNum = iotMaintainMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
-        hbXjNum = iotInspectOrderMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
-        hbYxNum = iotOpeationFillMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
+        tbWxNum = iotMaintainMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
+        tbXjNum = iotInspectOrderMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
+        tbYxNum = iotOpeationFillMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
 
         Long tbByNum = 0l;
         Long hbByNum = 0l;
@@ -183,9 +183,9 @@ public class IotReportOrderController {
         if ("year".equals(pageReqVO.getTimeType())){
             // 保养 年 无同比环比数据
             hbByNum = hbByNum==null ? 0l : hbByNum;
-            tbWxNum = hbWxNum == null?0L:hbWxNum;
-            tbXjNum = hbXjNum == null?0L:hbXjNum;
-            tbYxNum = hbYxNum == null?0L:hbYxNum;
+            hbWxNum = tbWxNum == null?0L:tbWxNum;
+            hbXjNum = tbXjNum == null?0L:tbXjNum;
+            hbYxNum = tbYxNum == null?0L:tbYxNum;
         }  else if ("month".equals(pageReqVO.getTimeType())){
             LocalDateTime lastMonthStart = startTime.minusMonths(1);
             LocalDateTime lastMonthEnd = endTime.minusMonths(1);
@@ -193,9 +193,9 @@ public class IotReportOrderController {
             monthTime[0] = lastMonthStart;
             monthTime[1] = lastMonthEnd;
             pageReqVO.setCreateTime(monthTime);
-            tbWxNum = iotMaintainMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
-            tbXjNum = iotInspectOrderMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
-            tbYxNum = iotOpeationFillMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
+            hbWxNum = iotMaintainMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
+            hbXjNum = iotInspectOrderMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
+            hbYxNum = iotOpeationFillMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
 
             List<AllOrderResp> monthWorkOrders = iotMainWorkOrderMapper.selectStatusNumber(pageReqVO);
             if (CollUtil.isNotEmpty(monthWorkOrders)) {
@@ -234,9 +234,9 @@ public class IotReportOrderController {
             dayTime[0] = lastDayStart;
             dayTime[1] = lastDayEnd;
             pageReqVO.setCreateTime(dayTime);
-            tbWxNum = iotMaintainMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
-            tbXjNum = iotInspectOrderMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
-            tbYxNum = iotOpeationFillMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
+            hbWxNum = iotMaintainMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
+            hbXjNum = iotInspectOrderMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
+            hbYxNum = iotOpeationFillMapper.selectStatusNumber(pageReqVO).stream().mapToLong(AllOrderResp::getNum).sum();
 
             List<AllOrderResp> dayWorkOrders = iotMainWorkOrderMapper.selectStatusNumber(pageReqVO);
             if (CollUtil.isNotEmpty(dayWorkOrders)) {
@@ -419,7 +419,7 @@ public class IotReportOrderController {
                 String deviceInfo = iotInspectOrderDeviceMapper.getDeviceInfo(e.getId());
                 e.setDevice(deviceInfo);
             } else if ("运行记录".equals(e.getType())) {
-                List<IotOpeationFillDO> orderId = iotOpeationFillMapper.selectList("order_id", e.getId());
+                List<IotOpeationFillDO> orderId = iotOpeationFillMapper.getListByOrderId(e.getId());
                 StringJoiner joiner = new StringJoiner(", ");
                 for (IotOpeationFillDO fillDO : orderId) {
                     joiner.add(fillDO.getDeviceCode() + "/" + fillDO.getDeviceName());

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotopeationfill/IotOpeationFillMapper.java

@@ -341,4 +341,6 @@ public interface IotOpeationFillMapper extends BaseMapperX<IotOpeationFillDO> {
 
     @TenantIgnore
     List<AllOrderResp> selectStatusNumber(@Param("reqVO") IotMaintainPageReqVO reqVO);
+    @TenantIgnore
+    List<IotOpeationFillDO> getListByOrderId(@Param("orderId") Long orderId);
 }

+ 9 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotOpeationFillMapper.xml

@@ -2,6 +2,15 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillMapper">
 
+    <select id="getListByOrderId"
+            resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
+
+       select c.device_code ,c.device_name from rq_iot_opeation_fill c where c.deleted=0
+        <if test="orderId != null and orderId != ''">
+            and  c.order_id = #{orderId}
+        </if>
+    </select>
+
 
     <select id="getFillDevices"
             resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">