Ver código fonte

Merge remote-tracking branch 'origin/master'

lipenghui 2 meses atrás
pai
commit
bd999ddd87

+ 2 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/config/PmsDataPermissionConfiguration.java

@@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectPlanDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectRouteDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotlockstock.IotLockStockDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmainworkorder.IotMainWorkOrderDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotsapstock.IotSapStockDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintenance.IotMaintenancePlanDO;
 import cn.iocoder.yudao.module.supplier.dal.dataobject.product.SupplierDO;
@@ -49,7 +50,7 @@ public class PmsDataPermissionConfiguration {
             rule.addDeptColumn(IotLockStockDO.class, "dept_id");
             rule.addDeptColumn(IotMainWorkOrderDO.class, "dept_id");
             rule.addDeptColumn(IotMaintenancePlanDO.class, "dept_id");
-
+            rule.addDeptColumn(IotSapStockDO.class, "dept_id");
             // user
             rule.addUserColumn(SupplierDO.class);
             rule.addUserColumn(AdminUserDO.class, "id");

+ 5 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotdevicebom/IotDeviceBomMapper.java

@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.pms.controller.admin.iotdevicebom.vo.IotDeviceBomListReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotdevicebom.vo.IotDeviceBomPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.iotdevicebom.vo.IotDeviceBomSaveReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicebom.IotDeviceBomDO;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -44,4 +45,8 @@ public interface IotDeviceBomMapper extends BaseMapperX<IotDeviceBomDO> {
                 .eqIfPresent(IotDeviceBomDO::getStatus, reqVO.getStatus()));
     }
 
+    default IotDeviceBomDO selectParentNode(IotDeviceBomSaveReqVO reqVO) {
+        return selectOne(IotDeviceBomDO::getId, reqVO.getParentId());
+    }
+
 }

+ 8 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotdevicebom/IotDeviceBomServiceImpl.java

@@ -6,13 +6,11 @@ import cn.iocoder.yudao.module.pms.controller.admin.iotdevicebom.vo.IotDeviceBom
 import cn.iocoder.yudao.module.pms.controller.admin.iotdevicebom.vo.IotDeviceBomPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotdevicebom.vo.IotDeviceBomSaveReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicebom.IotDeviceBomDO;
-import cn.iocoder.yudao.module.pms.dal.dataobject.iotmaterialgroup.IotMaterialGroupDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicebom.IotDeviceBomMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
-
 import java.util.Comparator;
 import java.util.List;
 
@@ -36,6 +34,14 @@ public class IotDeviceBomServiceImpl implements IotDeviceBomService {
     public Long createIotDeviceBom(IotDeviceBomSaveReqVO createReqVO) {
         // 插入
         IotDeviceBomDO iotDeviceBom = BeanUtils.toBean(createReqVO, IotDeviceBomDO.class);
+        // 设置当前节点为 叶子
+        iotDeviceBom.setLeafFlag(1);
+        // 设置父节点为 非叶子节点
+        if (!createReqVO.getParentId().equals(0L)) {
+            IotDeviceBomDO parentBomNode = iotDeviceBomMapper.selectParentNode(createReqVO);
+            parentBomNode.setLeafFlag(2);
+            iotDeviceBomMapper.updateById(parentBomNode);
+        }
         iotDeviceBomMapper.insert(iotDeviceBom);
         // 返回
         return iotDeviceBom.getId();

+ 7 - 16
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotDeviceMapper.xml

@@ -400,22 +400,13 @@
         ) t2
         LEFT JOIN (
             SELECT
-            l.device_id,
-            l.total_run_time,
-            l.total_mileage,
-            l.time
-            FROM rq_iot_device_run_log l
-            RIGHT JOIN (
-                SELECT
-                    device_id,
-                    MAX(time) AS latest_time,
-                    MAX(id)	AS max_id
-                FROM rq_iot_device_run_log
-                GROUP BY device_id
-            ) AS latest
-            ON l.device_id = latest.device_id
-            AND l.time = latest.latest_time
-            AND l.id = latest.max_id
+                device_id,
+                MAX(total_run_time) AS total_run_time,
+                MAX(total_mileage) AS total_mileage
+            FROM rq_iot_device_run_log
+            WHERE deleted = 0
+            AND device_id IS NOT NULL
+            GROUP BY device_id
         ) tmp ON tmp.device_id = t2.id
     </select>
     <select id="deviceAssociateBomListPage"