瀏覽代碼

pms 维修 保养选择物料 逻辑优化

zhangcl 2 月之前
父節點
當前提交
46f2a6ee69

+ 14 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotdevicematerial/IotDeviceMaterialMapper.java

@@ -54,6 +54,20 @@ public interface IotDeviceMaterialMapper extends BaseMapperX<IotDeviceMaterialDO
         return selectJoinList(IotDeviceMaterialDO.class, query);
     }
 
+    default List<IotDeviceMaterialDO> selectList(IotDeviceMaterialPageReqVO reqVO) {
+        return selectList(new LambdaQueryWrapperX<IotDeviceMaterialDO>()
+                .eqIfPresent(IotDeviceMaterialDO::getDeviceCategoryId, reqVO.getDeviceCategoryId())
+                .eqIfPresent(IotDeviceMaterialDO::getDeviceId, reqVO.getDeviceId())
+                .likeIfPresent(IotDeviceMaterialDO::getName, reqVO.getName())
+                .eqIfPresent(IotDeviceMaterialDO::getBomNodeId, reqVO.getBomNodeId())
+                .eqIfPresent(IotDeviceMaterialDO::getCode, reqVO.getCode())
+                .eqIfPresent(IotDeviceMaterialDO::getMaterialId, reqVO.getMaterialId())
+                .eqIfPresent(IotDeviceMaterialDO::getQuantity, reqVO.getQuantity())
+                .eqIfPresent(IotDeviceMaterialDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(IotDeviceMaterialDO::getRemark, reqVO.getRemark())
+                .betweenIfPresent(IotDeviceMaterialDO::getCreateTime, reqVO.getCreateTime()));
+    }
+
     /**
      * 删除指定 deviceId 集合的设备BOM 挂载的物料
      *

+ 11 - 9
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotmainworkorderbommaterial/IotMainWorkOrderBomMaterialServiceImpl.java

@@ -5,13 +5,14 @@ import cn.hutool.core.util.ObjUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.module.pms.controller.admin.iotdevicematerial.vo.IotDeviceMaterialSaveReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.iotdevicematerial.vo.IotDeviceMaterialPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotmainworkorderbommaterial.vo.IotMainWorkOrderBomMaterialPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotmainworkorderbommaterial.vo.IotMainWorkOrderBomMaterialRespVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotmainworkorderbommaterial.vo.IotMainWorkOrderBomMaterialSaveReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicematerial.IotDeviceMaterialDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmainworkorderbommaterial.IotMainWorkOrderBomMaterialDO;
+import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicematerial.IotDeviceMaterialMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotmainworkorderbommaterial.IotMainWorkOrderBomMaterialMapper;
 import cn.iocoder.yudao.module.pms.service.IotDeviceService;
 import cn.iocoder.yudao.module.pms.service.iotcommonbommaterial.IotCommonBomMaterialService;
@@ -57,6 +58,8 @@ public class IotMainWorkOrderBomMaterialServiceImpl implements IotMainWorkOrderB
     private SapOrgApi sapOrgApi;
     @Autowired
     private DeptSapOrgApi deptSapOrgApi;
+    @Autowired
+    private IotDeviceMaterialMapper iotDeviceMaterialMapper;
 
     @Override
     public Long createIotMainWorkOrderBomMaterial(IotMainWorkOrderBomMaterialSaveReqVO createReqVO) {
@@ -122,6 +125,7 @@ public class IotMainWorkOrderBomMaterialServiceImpl implements IotMainWorkOrderB
         Set<Long> stockLocationIds = new HashSet<>();
         if (CollUtil.isEmpty(sapOrgS)) {
             // throw exception(IOT_MAIN_WORK_ORDER_BOM_MATERIAL_NOT_EXISTS);
+            // todo 应该有必要的提示信息 部门需要维护SAP组织信息
             return new PageResult<>(new ArrayList<>(), 0l);
         }
         sapOrgS.forEach(sapOrg -> {
@@ -135,15 +139,13 @@ public class IotMainWorkOrderBomMaterialServiceImpl implements IotMainWorkOrderB
                 stockLocationIds.add(sapOrg.getStockLocationId());
             }
         });
-        // DeptDO dept = deptService.getDept(pageReqVO.getDeptId());
-        // if (Objects.isNull(dept)) {throw new ServiceException();}
-        // 查询 bom 节点已经关联的物料列表
-        // IotCommonBomMaterialSaveReqVO reqVO = new IotCommonBomMaterialSaveReqVO();
+        // IotDeviceMaterialSaveReqVO reqVO = new IotDeviceMaterialSaveReqVO();
         // reqVO.setBomNodeId(pageReqVO.getBomNodeId());
-        // List<IotCommonBomMaterialDO> bomMaterials = iotCommonBomMaterialService.getIotCommonBomMaterials(reqVO);
-        IotDeviceMaterialSaveReqVO reqVO = new IotDeviceMaterialSaveReqVO();
-        reqVO.setBomNodeId(pageReqVO.getBomNodeId());
-        List<IotDeviceMaterialDO> bomMaterials = iotDeviceMaterialService.getIotDeviceMaterials(reqVO);
+        // List<IotDeviceMaterialDO> bomMaterials = iotDeviceMaterialService.getIotDeviceMaterials(reqVO);
+        IotDeviceMaterialPageReqVO materialReqVO = new IotDeviceMaterialPageReqVO();
+        materialReqVO.setDeviceId(device.getId());
+        materialReqVO.setBomNodeId(pageReqVO.getBomNodeId());
+        List<IotDeviceMaterialDO> bomMaterials = iotDeviceMaterialMapper.selectList(materialReqVO);
         List<String> materialCodes = new ArrayList<>();
         Map<String, IotDeviceMaterialDO> bomNodePair = new HashMap<>();
         if (CollUtil.isNotEmpty(bomMaterials)) {