Browse Source

器件搜索代码提交

hy 7 years ago
parent
commit
7a21a350c8

+ 146 - 0
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/DeviceDTO.java

@@ -0,0 +1,146 @@
+package com.usoftchina.saas.purchase.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Created by hey
+ * 2018-10-17 13:44.
+ */
+@Data
+public class DeviceDTO implements Serializable {
+
+    /**
+     * 品牌
+     */
+    private String pr_brand;
+    /**
+     * 名称
+     */
+    private String pr_detail;
+    /**
+     * 型号
+     */
+    private String pr_orispeccode;
+    /**
+     * 规格
+     */
+    private String pr_spec;
+    /**
+     * 包装
+     */
+    private String pr_pack;
+    /**
+     * 供应商
+     */
+    private String pr_vendor;
+    /**
+     * 库存
+     */
+    private Double pr_qty;
+    /**
+     * 梯度
+     */
+    private Double pr_level;
+    /**
+     * 大陆交货单价
+     */
+    private Double pr_cnprice;
+    /**
+     * 香港交货单价
+     */
+    private Double pr_hkprice;
+    /**
+     * 交期
+     */
+    private Double pr_leadtime;
+
+    public String getPr_brand() {
+        return pr_brand;
+    }
+
+    public void setPr_brand(String pr_brand) {
+        this.pr_brand = pr_brand;
+    }
+
+    public String getPr_detail() {
+        return pr_detail;
+    }
+
+    public void setPr_detail(String pr_detail) {
+        this.pr_detail = pr_detail;
+    }
+
+    public String getPr_orispeccode() {
+        return pr_orispeccode;
+    }
+
+    public void setPr_orispeccode(String pr_orispeccode) {
+        this.pr_orispeccode = pr_orispeccode;
+    }
+
+    public String getPr_spec() {
+        return pr_spec;
+    }
+
+    public void setPr_spec(String pr_spec) {
+        this.pr_spec = pr_spec;
+    }
+
+    public String getPr_vendor() {
+        return pr_vendor;
+    }
+
+    public void setPr_vendor(String pr_vendor) {
+        this.pr_vendor = pr_vendor;
+    }
+
+    public Double getPr_qty() {
+        return pr_qty;
+    }
+
+    public void setPr_qty(Double pr_qty) {
+        this.pr_qty = pr_qty;
+    }
+
+    public Double getPr_level() {
+        return pr_level;
+    }
+
+    public void setPr_level(Double pr_level) {
+        this.pr_level = pr_level;
+    }
+
+    public Double getPr_cnprice() {
+        return pr_cnprice;
+    }
+
+    public void setPr_cnprice(Double pr_cnprice) {
+        this.pr_cnprice = pr_cnprice;
+    }
+
+    public Double getPr_hkprice() {
+        return pr_hkprice;
+    }
+
+    public void setPr_hkprice(Double pr_hkprice) {
+        this.pr_hkprice = pr_hkprice;
+    }
+
+    public Double getPr_leadtime() {
+        return pr_leadtime;
+    }
+
+    public void setPr_leadtime(Double pr_leadtime) {
+        this.pr_leadtime = pr_leadtime;
+    }
+
+    public String getPr_pack() {
+        return pr_pack;
+    }
+
+    public void setPr_pack(String pr_pack) {
+        this.pr_pack = pr_pack;
+    }
+}

+ 85 - 0
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/DeviceReqDTO.java

@@ -0,0 +1,85 @@
+package com.usoftchina.saas.purchase.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Created by hey
+ * 2018-10-17 13:44.
+ */
+@Data
+public class DeviceReqDTO implements Serializable {
+    /**
+     * 页码
+     */
+    private int page;
+    /**
+     * 每页条数
+     */
+    private int count;
+    /**
+     * 搜索类型
+     */
+    private String type = "component";
+    /**
+     * 搜索关键字
+     */
+    private String keyword;
+    /**
+     * 过滤
+     */
+    private String filter;
+    /**
+     * 排序
+     */
+    private String sorting;
+
+    public int getPage() {
+        return page;
+    }
+
+    public void setPage(int page) {
+        this.page = page;
+    }
+
+    public int getCount() {
+        return count;
+    }
+
+    public void setCount(int count) {
+        this.count = count;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getKeyword() {
+        return keyword;
+    }
+
+    public void setKeyword(String keyword) {
+        this.keyword = keyword;
+    }
+
+    public String getFilter() {
+        return filter;
+    }
+
+    public void setFilter(String filter) {
+        this.filter = filter;
+    }
+
+    public String getSorting() {
+        return sorting;
+    }
+
+    public void setSorting(String sorting) {
+        this.sorting = sorting;
+    }
+}

+ 5 - 0
applications/purchase/purchase-server/pom.xml

@@ -29,6 +29,11 @@
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>server-starter</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>mall-api</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
 
         <!--test-->
         <dependency>

+ 2 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/PurchaseApplication.java

@@ -17,7 +17,8 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @SpringBootApplication
 @EnableEurekaClient
 @EnableTransactionManagement
-@EnableFeignClients("com.usoftchina.saas")
+@EnableFeignClients({"com.usoftchina.saas",
+                     "com.usoftchina.inquiry"})
 @EnableAuthClient
 @MapperScan("com.usoftchina.saas.purchase.mapper")
 @EnableDynamicDataSource

+ 15 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java

@@ -1,11 +1,15 @@
 package com.usoftchina.saas.purchase.controller;
 
+
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.inquiry.po.inquiry.IPage;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
+import com.usoftchina.saas.purchase.dto.DeviceDTO;
+import com.usoftchina.saas.purchase.dto.DeviceReqDTO;
 import com.usoftchina.saas.purchase.dto.PurchaseFormDTO;
 import com.usoftchina.saas.purchase.po.PurchaseList;
 import com.usoftchina.saas.purchase.service.PurchaseService;
@@ -178,4 +182,15 @@ public class PurchaseController {
     public String getPurchaseCode(@RequestBody DocBaseDTO baseDTO) {
         return purchaseService.getPurchaseCode(baseDTO);
     }
+
+    /**
+     * 获取器件列表
+     *
+     * @return
+     */
+    @GetMapping("/device/list")
+    public Result getDevice(DeviceReqDTO deviceReqDTO){
+        IPage<DeviceDTO> deviceDTOIPage = purchaseService.getDevice(deviceReqDTO);
+        return Result.success(deviceDTOIPage);
+    }
 }

+ 10 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/PurchaseService.java

@@ -1,12 +1,15 @@
 package com.usoftchina.saas.purchase.service;
 
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.inquiry.po.inquiry.IPage;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.base.service.CommonBaseService;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
+import com.usoftchina.saas.purchase.dto.DeviceDTO;
+import com.usoftchina.saas.purchase.dto.DeviceReqDTO;
 import com.usoftchina.saas.purchase.dto.PurchaseFormDTO;
 import com.usoftchina.saas.purchase.mapper.PurchaseMapper;
 import com.usoftchina.saas.purchase.po.Purchase;
@@ -137,4 +140,11 @@ public interface PurchaseService extends CommonBaseService<PurchaseMapper, Purch
     Result turnProdin(Long id);
 
     String getPurchaseCode(DocBaseDTO baseDTO);
+
+    /**
+     * 器件查询
+     * @param deviceReqDTO
+     * @return
+     */
+    IPage<DeviceDTO> getDevice(DeviceReqDTO deviceReqDTO);
 }

+ 60 - 3
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java

@@ -2,6 +2,13 @@ package com.usoftchina.saas.purchase.service.impl;
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.inquiry.api.SearchApi;
+import com.usoftchina.inquiry.po.inquiry.IPage;
+import com.usoftchina.inquiry.po.inquiry.InquiryEnRemind;
+import com.usoftchina.inquiry.po.inquiry.InquiryRemind;
+import com.usoftchina.inquiry.po.search.FuturesEntity;
+import com.usoftchina.inquiry.po.search.ProductEntity;
+import com.usoftchina.inquiry.po.search.SearchComponentResp;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
 import com.usoftchina.saas.commons.api.CommonService;
@@ -18,14 +25,15 @@ import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.exception.ExceptionCode;
 import com.usoftchina.saas.page.PageRequest;
-import com.usoftchina.saas.purchase.dto.PurchaseDTO;
-import com.usoftchina.saas.purchase.dto.PurchaseDetailDTO;
-import com.usoftchina.saas.purchase.dto.PurchaseFormDTO;
+import com.usoftchina.saas.purchase.dto.*;
 import com.usoftchina.saas.purchase.mapper.*;
 import com.usoftchina.saas.purchase.po.*;
 import com.usoftchina.saas.purchase.service.ProdInOutService;
 import com.usoftchina.saas.purchase.service.PurchaseService;
 import com.usoftchina.saas.utils.BeanMapper;
+import com.usoftchina.saas.utils.CollectionUtils;
+import com.usoftchina.saas.utils.JsonUtils;
+import com.usoftchina.saas.utils.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -61,6 +69,8 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
     private ProdInOutService prodInOutService;
     @Autowired
     private CommonService commonService;
+    @Autowired
+    private SearchApi searchApi;
 
 
     @Override
@@ -663,4 +673,51 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         purchasedetailMapper.calcPurchase(pu_id);
     }
 
+    /**
+     * 获取器件列表
+     * @param deviceReqDTO
+     * @return
+     */
+    @Override
+    public IPage<DeviceDTO> getDevice(DeviceReqDTO deviceReqDTO) {
+        SearchComponentResp searchComponentResp = searchApi.getInquiry(deviceReqDTO.getKeyword(),deviceReqDTO.getCount(),deviceReqDTO.getSorting(),
+                deviceReqDTO.getType(),deviceReqDTO.getPage(),deviceReqDTO.getFilter());
+        List<ProductEntity> productEntities = searchComponentResp.getFutures().getContent();
+        if (CollectionUtils.isEmpty(productEntities)){
+            return null;
+        }
+        //IPage<FuturesEntity> futuresEntityIPage = searchComponentResps.get(0).getFutures();
+        List<DeviceDTO> deviceDTOList = convertToDeviceDTO(productEntities);
+        int page = Integer.parseInt(String.valueOf(searchComponentResp.getFutures().getPage()));
+        int size = Integer.parseInt(String.valueOf(searchComponentResp.getFutures().getSize()));
+        int total = Integer.parseInt(String.valueOf(searchComponentResp.getFutures().getTotal()));
+        //转换成分页对象
+        IPage<DeviceDTO> deviceDTOIPage = new IPage<DeviceDTO>(page, size,
+                0,deviceDTOList, false, false,
+                total);
+        return deviceDTOIPage;
+    }
+
+    /**
+     * 将平台返回的结果集转成SAAS的传输对象
+     * @param data
+     * @return
+     */
+    private List<DeviceDTO> convertToDeviceDTO(List<ProductEntity> data) {
+        List<DeviceDTO> deviceDTOS = new ArrayList<DeviceDTO>();
+        DeviceDTO deviceDTO = null;
+        for (ProductEntity item : data){
+            deviceDTO = new DeviceDTO();
+            deviceDTO.setPr_brand(item.getPbranden());
+            deviceDTO.setPr_detail(item.getKind());
+            deviceDTO.setPr_orispeccode(item.getPcmpcode());
+            deviceDTO.setPr_spec(item.getSpec());
+            deviceDTO.setPr_pack(item.getPackaging());
+            deviceDTO.setPr_vendor(item.getEnName());
+            deviceDTO.setPr_qty(item.getErpReserve());
+            deviceDTOS.add(deviceDTO);
+        }
+        return deviceDTOS;
+    }
+
 }

+ 5 - 1
applications/purchase/purchase-server/src/main/resources/application.yml

@@ -88,4 +88,8 @@ hystrix:
                 enabled: true
               isolation:
                     thread:
-                        timeoutInMilliseconds: 4000
+                        timeoutInMilliseconds: 4000
+inquiry:
+  base-url: https://test-inquiry.uuzcc.cn
+Component:
+  base-url: https://test-mall.uuzcc.cn

+ 2 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/SearchApi.java

@@ -1,5 +1,6 @@
 package com.usoftchina.inquiry.api;
 
+import com.usoftchina.inquiry.po.inquiry.IPage;
 import com.usoftchina.inquiry.po.search.SearchComponentResp;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
@@ -20,5 +21,5 @@ public interface SearchApi {
      */
     @GetMapping("/201819")
     SearchComponentResp getInquiry(@RequestParam("keyword") String keyword, @RequestParam("count") int count, @RequestParam("sorting") String sorting,
-                                   @RequestParam("type") String type, @RequestParam("page") int page, @RequestParam("filter") String filter);
+                                          @RequestParam("type") String type, @RequestParam("page") int page, @RequestParam("filter") String filter);
 }