hfxc226 3 년 전
부모
커밋
c780cf337a

+ 11 - 2
platform-dao/src/main/java/com/platform/dao/dto/sqarepartmanage/SparePartInfoDTO.java

@@ -27,7 +27,12 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SparePartInfoDTO extends BaseDTO implements Serializable {
-
+    /**
+     * 设备名称或者型号,新号或者旧号,用于查询或者筛选
+     */
+    @Transient
+    private String model;
+    List<String> spareIdList;
     /**
      * 指标参数
      */
@@ -70,7 +75,11 @@ public class SparePartInfoDTO extends BaseDTO implements Serializable {
      * 名称编码
      */
     private String nameNo;
-
+    /**
+     * 查询类型为null的,之前删掉类型,但是有备件关联的
+     */
+    @Transient
+    private Boolean searchType;
     /**
      * 规格编码
      */

+ 6 - 0
platform-dao/src/main/java/com/platform/dao/dto/store/SpareStoreDTO.java

@@ -24,6 +24,11 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SpareStoreDTO extends BaseDTO implements Serializable {
+    /**
+     * 设备名称或者型号,新号或者旧号,用于查询或者筛选
+     */
+    @Transient
+    private String model;
     /**
      * 库存价格
      */
@@ -33,6 +38,7 @@ public class SpareStoreDTO extends BaseDTO implements Serializable {
      */
     private BigDecimal initNum;
 
+    List<String> spareIdList;
     /**
      * 预设采购价
      */

+ 8 - 0
platform-dao/src/main/resources/mapper/sb/SbModelSpareBomMapper.xml

@@ -41,6 +41,14 @@
             <if test="sbId != null">
                 and bom.sb_id = #{sbId}
             </if>
+            <if test="keyword != null and keyword != ''">
+                and (
+                    sbInfo.no like concat('%',#{keyword},'%')
+                    or sbInfo.name like concat('%',#{keyword},'%')
+                    or sbInfo.model like concat('%',#{keyword},'%')
+                    or sbInfo.zbh like concat('%',#{keyword},'%')
+                    )
+            </if>
         </where>
     </select>
 

+ 9 - 0
platform-dao/src/main/resources/mapper/sqarepartmanage/SparePartInfoMapper.xml

@@ -89,6 +89,12 @@ warn_status,forecast_status,
             LEFT JOIN t_supplier supplier on supplier.id = info.supplier_id
         </if>
         <where>
+            <if test="spareIdList != null and spareIdList.size > 0">
+                and sparestore.spare_id in
+                <foreach item="item" index="index" collection="spareIdList" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
             <if test="warnStatusList != null and warnStatusList.size > 0">
                 AND info.warn_status in
                 <foreach item="item" index="index" collection="warnStatusList" open="(" close=")" separator=",">
@@ -169,6 +175,9 @@ warn_status,forecast_status,
             <if test="searchMinStockWarn">
                 AND info.warn_status = 0
             </if>
+            <if test="searchType">
+                AND info.type_id is null
+            </if>
         </where>
         group by info.id
         <if test="searchMinStockWarn">

+ 6 - 0
platform-dao/src/main/resources/mapper/store/SpareStoreMapper.xml

@@ -166,6 +166,12 @@
                     or spareinfo.ggxh like concat('%',#{keyword},'%')
                 )
             </if>
+            <if test="spareIdList != null and spareIdList.size > 0">
+                and sparestore.spare_id in
+                <foreach item="item" index="index" collection="spareIdList" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
             <if test="typeId != null and typeId != ''">
                 and spareinfo.type_id = #{typeId}
             </if>

+ 22 - 16
platform-rest/src/main/java/com/platform/rest/controller/sqarepartmanage/SparePartInfoController.java

@@ -1,5 +1,6 @@
 package com.platform.rest.controller.sqarepartmanage;
 
+import com.platform.common.exception.BusinessException;
 import com.platform.common.util.R;
 import com.platform.common.util.StringUtils;
 import com.platform.dao.dto.sb.SbModelDTO;
@@ -186,6 +187,7 @@ public class SparePartInfoController {
 
     /**
      * 获取分页
+     *
      * @param pageNum  当前页码
      * @param pageSize 每页条数
      * @param month    查询最近几个月的-距离当前系统时间
@@ -218,26 +220,30 @@ public class SparePartInfoController {
     @SysLog("备件基础信息导出")
     @PreAuthorize("@pms.hasPermission('sqarepartmanage-spare-part-info-export')")
     public void export(HttpServletResponse response, SparePartInfoDTO sparePartInfoDTO) {
-        List<SparePartInfo> list = sparePartInfoService.getModelListByDTO(sparePartInfoDTO);
-        // 如果没有编码先更新编码
-        for (SparePartInfo sparePartInfo : list) {
-            if (StringUtils.isBlank(sparePartInfo.getNo())) {
-                sparePartInfoService.updateSpareNo(sparePartInfo);
+        try {
+            List<SparePartInfo> list = sparePartInfoService.getModelListByDTO(sparePartInfoDTO);
+            // 如果没有编码先更新编码
+            for (SparePartInfo sparePartInfo : list) {
+                if (StringUtils.isBlank(sparePartInfo.getNo())) {
+                    sparePartInfoService.updateSpareNo(sparePartInfo);
+                }
             }
-        }
-        // 查询备件关联的设备型号信息
-        List<SbModelVO> modelList = sbModelService.selectVOList(new SbModelDTO());
-        List<SbModelSpareBomVO> bomList = sbModelSpareBomService.selectExportList(sparePartInfoDTO);
-        for (SparePartInfo sparePartInfo : list) {
-            for (SbModelSpareBomVO sbModelSpareBomVO : bomList) {
-                if (sparePartInfo.getId().equals(sbModelSpareBomVO.getSpareId())) {
-                    sparePartInfo.setModelName(sbModelSpareBomVO.getName());
-                    sparePartInfo.setModelModel(sbModelSpareBomVO.getModel());
-                    break;
+            // 查询备件关联的设备型号信息
+            List<SbModelSpareBomVO> bomList = sbModelSpareBomService.selectExportList(sparePartInfoDTO);
+            for (SparePartInfo sparePartInfo : list) {
+                for (SbModelSpareBomVO sbModelSpareBomVO : bomList) {
+                    if (sparePartInfo.getId().equals(sbModelSpareBomVO.getSpareId())) {
+                        sparePartInfo.setModelName(sbModelSpareBomVO.getName());
+                        sparePartInfo.setModelModel(sbModelSpareBomVO.getModel());
+                        break;
+                    }
                 }
             }
+            ExcelUtil.exportResponseDict(response, ExportSparePartInfoVO.class, BeanConverterUtil.copyListProperties(list, ExportSparePartInfoVO.class), "备件基础信息");
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new BusinessException("导出出错," + e.getMessage());
         }
-        ExcelUtil.exportResponseDict(response, ExportSparePartInfoVO.class, BeanConverterUtil.copyListProperties(list, ExportSparePartInfoVO.class), "备件基础信息");
     }
 
     /**

+ 12 - 0
platform-service/src/main/java/com/platform/service/sqarepartmanage/impl/SparePartInfoServiceImpl.java

@@ -49,8 +49,10 @@ import com.platform.dao.vo.query.check.CheckStandardSpareVO;
 import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
 import com.platform.dao.vo.query.store.SpareStoreVO;
 import com.platform.dao.vo.sb.SbInfoVO;
+import com.platform.dao.vo.sb.SbModelSpareBomVO;
 import com.platform.service.check.CheckStandardService;
 import com.platform.service.event.WorkplaceBacklogEvent;
+import com.platform.service.sb.SbModelSpareBomService;
 import com.platform.service.sqarepartmanage.SparePartInfoService;
 import com.platform.service.sqarepartmanage.SpareTypeService;
 import com.platform.service.util.CodeFileUtils;
@@ -96,6 +98,7 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
     private CheckJobMapper checkJobMapper;
     private CheckStandardSpareMapper checkStandardSpareMapper;
     private CheckStandardService checkStandardService;
+
     @Override
     public int batchDelete(List<String> ids) {
 
@@ -324,6 +327,15 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
 
     @Override
     public AbstractPageResultBean<SparePartInfo> selectPageInfo(SparePartInfoDTO record, int pageNum, int pageSize) {
+
+        if(StringUtils.isNotEmpty(record.getModel())){
+            SbModelSpareBomDTO sbModelDTO = new SbModelSpareBomDTO();
+            sbModelDTO.setKeyword(record.getModel());
+            List<SbModelSpareBomVO> modelList = sbModelSpareBomMapper.selectVOList(sbModelDTO);
+            List<String> spareList = modelList.stream().map(item -> item.getSpareId()).distinct().collect(Collectors.toList());
+            record.setSpareIdList(spareList);
+        }
+
         // 选择设备对应的备件bom列表
         if (record.getSbId() != null) {
             SbInfoVO sbInfo = sbInfoMapper.getById(record.getSbId());

+ 13 - 4
platform-service/src/main/java/com/platform/service/store/impl/SpareStoreServiceImpl.java

@@ -7,14 +7,12 @@ import com.platform.common.constant.CommonConstants;
 import com.platform.common.enums.DataFilterTypeEnum;
 import com.platform.common.exception.BusinessException;
 import com.platform.common.model.UserInfo;
-import com.platform.common.util.BeanConverterUtil;
-import com.platform.common.util.BeanUtils;
-import com.platform.common.util.IdGeneratorUtils;
-import com.platform.common.util.SecurityUtils;
+import com.platform.common.util.*;
 import com.platform.dao.bean.MyPage;
 import com.github.pagehelper.PageHelper;
 import com.platform.dao.bean.MyVOPage;
 import com.platform.dao.dto.sb.SbInfoDTO;
+import com.platform.dao.dto.sb.SbModelSpareBomDTO;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.dto.sqarepartmanage.SpareTypeDTO;
 import com.platform.dao.dto.store.SpareStoreDTO;
@@ -36,6 +34,8 @@ import com.platform.dao.util.CustomExcelImportUtil;
 import com.platform.dao.vo.query.store.SpareStoreVO;
 import com.platform.dao.vo.query.store.StoreVO;
 import com.platform.dao.vo.query.upms.SysDeptVO;
+import com.platform.dao.vo.sb.SbModelSpareBomVO;
+import com.platform.service.sb.SbModelSpareBomService;
 import com.platform.service.sqarepartmanage.SpareTypeService;
 import com.platform.service.store.SpareStoreService;
 import com.platform.service.store.StoreService;
@@ -71,6 +71,7 @@ public class SpareStoreServiceImpl extends BaseServiceImpl<SpareStoreMapper, Spa
     private final Environment environment;
     private SysUserDeptService sysUserDeptService;
     private SysDeptService sysDeptService;
+    private SbModelSpareBomService sbModelSpareBomService;
 
     @Override
     public SpareStoreVO getDetail(Object id) {
@@ -173,6 +174,14 @@ public class SpareStoreServiceImpl extends BaseServiceImpl<SpareStoreMapper, Spa
             }
             model.setUseCompany(list.get(0).getDeptId());
         }*/
+        // 查询设备型号下面的备件
+        if(StringUtils.isNotEmpty(model.getModel())){
+            SbModelSpareBomDTO sbModelDTO = new SbModelSpareBomDTO();
+            sbModelDTO.setKeyword(model.getModel());
+            List<SbModelSpareBomVO> modelList = sbModelSpareBomService.selectVOList(sbModelDTO);
+            List<String> spareList = modelList.stream().map(item -> item.getSpareId()).distinct().collect(Collectors.toList());
+            model.setSpareIdList(spareList);
+        }
         PageHelper.startPage(pageNum, pageSize);
         return new MyPage<>(mapper.selectList(model));
     }