Browse Source

Merge remote-tracking branch 'origin/feature/1.0.0' into feature/1.0.0

liguosong 3 years ago
parent
commit
5d14f8ab4a
18 changed files with 337 additions and 76 deletions
  1. 26 25
      abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/tablestore/TableStoreUtils.java
  2. 10 2
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/QrPackageBookingOrderController.java
  3. 8 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/QrPackageBookingOrderMapper.java
  4. 2 2
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/QueryOrderFormLimitVO.java
  5. 40 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/ReservationOrderQueryVO.java
  6. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListMaterialBySapOrderRes.java
  7. 2 2
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListSapCoverFactoryRes.java
  8. 19 19
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/QueryOrderFormDetailRes.java
  9. 2 2
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/QueryOrderFormLimitRes.java
  10. 58 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ReservationOrderQueryRes.java
  11. 89 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/runner/DoCheckTableStoreRunner.java
  12. 6 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/FactoryService.java
  13. 10 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/QrPackageBookingOrderService.java
  14. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/FactoryServiceImpl.java
  15. 23 3
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageBookingOrderServiceImpl.java
  16. 27 12
      abi-cloud-qr-platform-server/src/main/resources/dao/mapper/QrPackageBookingOrderMapper.xml
  17. 6 3
      abi-cloud-qr-platform-server/src/test/java/com/abi/qms/platform/ReactBeanTest.java
  18. 7 4
      abi-cloud-qr-platform-server/src/test/java/com/abi/qms/platform/TableStoreTest.java

+ 26 - 25
abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/tablestore/TableStoreUtils.java

@@ -7,31 +7,7 @@ import com.abi.task.common.api.exception.ErrorCodeEnum;
 import com.abi.task.common.tablestore.common.TableStoreReq;
 import com.abi.task.common.tablestore.common.TableStoreRes;
 import com.alicloud.openservices.tablestore.SyncClient;
-import com.alicloud.openservices.tablestore.model.BatchWriteRowRequest;
-import com.alicloud.openservices.tablestore.model.BatchWriteRowResponse;
-import com.alicloud.openservices.tablestore.model.CapacityUnit;
-import com.alicloud.openservices.tablestore.model.Column;
-import com.alicloud.openservices.tablestore.model.ColumnValue;
-import com.alicloud.openservices.tablestore.model.CreateTableRequest;
-import com.alicloud.openservices.tablestore.model.DeleteRowRequest;
-import com.alicloud.openservices.tablestore.model.GetRowRequest;
-import com.alicloud.openservices.tablestore.model.GetRowResponse;
-import com.alicloud.openservices.tablestore.model.ListTableResponse;
-import com.alicloud.openservices.tablestore.model.PrimaryKey;
-import com.alicloud.openservices.tablestore.model.PrimaryKeyBuilder;
-import com.alicloud.openservices.tablestore.model.PrimaryKeySchema;
-import com.alicloud.openservices.tablestore.model.PrimaryKeyType;
-import com.alicloud.openservices.tablestore.model.PrimaryKeyValue;
-import com.alicloud.openservices.tablestore.model.PutRowRequest;
-import com.alicloud.openservices.tablestore.model.ReservedThroughput;
-import com.alicloud.openservices.tablestore.model.Row;
-import com.alicloud.openservices.tablestore.model.RowDeleteChange;
-import com.alicloud.openservices.tablestore.model.RowPutChange;
-import com.alicloud.openservices.tablestore.model.RowUpdateChange;
-import com.alicloud.openservices.tablestore.model.SingleRowQueryCriteria;
-import com.alicloud.openservices.tablestore.model.TableMeta;
-import com.alicloud.openservices.tablestore.model.TableOptions;
-import com.alicloud.openservices.tablestore.model.UpdateRowRequest;
+import com.alicloud.openservices.tablestore.model.*;
 import com.alicloud.openservices.tablestore.model.search.SearchQuery;
 import com.alicloud.openservices.tablestore.model.search.SearchRequest;
 import com.alicloud.openservices.tablestore.model.search.SearchResponse;
@@ -40,6 +16,7 @@ import com.alicloud.openservices.tablestore.model.search.query.TermsQuery;
 import com.alicloud.openservices.tablestore.model.search.sort.FieldSort;
 import com.alicloud.openservices.tablestore.model.search.sort.Sort;
 import com.alicloud.openservices.tablestore.model.search.sort.SortOrder;
+import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
@@ -47,6 +24,7 @@ import org.springframework.stereotype.Component;
 
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author: fangxinjian
@@ -401,4 +379,27 @@ public class TableStoreUtils {
         return rowPutChange;
     }
 
+    public UpdateTableResponse updateTable(int reservedThroughput, String tableName) {
+        UpdateTableRequest updateTableRequest = new UpdateTableRequest();
+        updateTableRequest.setTableName(tableName);
+        updateTableRequest.setStreamSpecification(new StreamSpecification(true,1));
+        ReservedThroughput throughput = new ReservedThroughput();
+        throughput.setCapacityUnit(new CapacityUnit(reservedThroughput,reservedThroughput));
+        updateTableRequest.setReservedThroughputForUpdate(throughput);
+        int timeToLive = -1;
+        //保存的最大版本数,1表示每列上最多保存一个版本即保存最新的版本。带索引表的数据表最大版本数必须设置为1。
+        int maxVersions = 1;
+        TableOptions tableOptions = new TableOptions(timeToLive, maxVersions);
+        updateTableRequest.setTableOptionsForUpdate(tableOptions);
+        return client().updateTable(updateTableRequest);
+    }
+
+
+    public Map<String,String> listTables() {
+        List<String> tableNames = client().listTable().getTableNames();
+        if (CollectionUtil.isNotEmpty(tableNames)){
+            return tableNames.stream().collect(Collectors.toMap(t->t,t->t));
+        }
+        return Maps.newHashMap();
+    }
 }

+ 10 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/QrPackageBookingOrderController.java

@@ -6,6 +6,7 @@ import com.abi.qms.platform.dto.req.QueryOrderFormLimitReq;
 import com.abi.qms.platform.dto.req.SaveOrderFormReq;
 import com.abi.qms.platform.dto.res.QueryOrderFormDetailRes;
 import com.abi.qms.platform.dto.res.QueryOrderFormLimitRes;
+import com.abi.qms.platform.dto.res.ReservationOrderQueryRes;
 import com.abi.qms.platform.service.QrPackageBookingOrderService;
 import com.abi.task.common.api.base.BaseResponse;
 import io.swagger.annotations.Api;
@@ -38,14 +39,14 @@ public class QrPackageBookingOrderController {
 
     @ApiOperation("查看预订单详情")
     @GetMapping("/queryOrderFormDetail")
-    public BaseResponse queryOrderFormDetail(@Validated QueryOrderFormDetailReq queryOrderFormDetailReq) {
+    public BaseResponse<QueryOrderFormDetailRes> queryOrderFormDetail(@Validated QueryOrderFormDetailReq queryOrderFormDetailReq) {
         QueryOrderFormDetailRes queryOrderFormDetailRes = qrPackageBookingOrderService.queryOrderFormDetail(queryOrderFormDetailReq);
         return BaseResponse.create(queryOrderFormDetailRes);
     }
 
     @ApiOperation("查看预订单查询分页")
     @GetMapping("/queryOrderFormLimit")
-    public BaseResponse queryOrderFormLimit(@Validated QueryOrderFormLimitReq queryOrderFormLimitReq) {
+    public BaseResponse<QueryOrderFormLimitRes> queryOrderFormLimit(@Validated QueryOrderFormLimitReq queryOrderFormLimitReq) {
         QueryOrderFormLimitRes res=qrPackageBookingOrderService.queryOrderFormLimit(queryOrderFormLimitReq);
         return BaseResponse.create(res);
     }
@@ -56,4 +57,11 @@ public class QrPackageBookingOrderController {
         qrPackageBookingOrderService.associateSapOrder(associateSapOrderReq);
         return BaseResponse.create();
     }
+
+    @ApiOperation("预订单下拉框选项")
+    @GetMapping("/reservationOrderQuery")
+    public BaseResponse<ReservationOrderQueryRes> reservationOrderQuery() {
+        ReservationOrderQueryRes res = qrPackageBookingOrderService.reservationOrderQuery();
+        return BaseResponse.create(res);
+    }
 }

+ 8 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/QrPackageBookingOrderMapper.java

@@ -3,6 +3,7 @@ package com.abi.qms.platform.dao.mapper;
 import com.abi.qms.platform.dao.entity.QrPackageBookingOrder;
 import com.abi.qms.platform.dao.vo.result.QueryOrderFormDetailVO;
 import com.abi.qms.platform.dao.vo.result.QueryOrderFormLimitVO;
+import com.abi.qms.platform.dao.vo.result.ReservationOrderQueryVO;
 import com.abi.qms.platform.dto.req.QueryOrderFormDetailReq;
 import com.abi.qms.platform.dto.req.QueryOrderFormLimitReq;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -37,4 +38,11 @@ public interface QrPackageBookingOrderMapper extends BaseMapper<QrPackageBooking
      */
     IPage<QueryOrderFormLimitVO> queryOrderFormLimit(IPage page, @Param("queryOrderFormLimitReq") QueryOrderFormLimitReq queryOrderFormLimitReq);
 
+    /**
+     * 预订单下拉框选项
+     * @author ludashi
+     * @date 2021/6/7 18:14
+     */
+    List<ReservationOrderQueryVO> reservationOrderQuery();
+
 }

+ 2 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/QueryOrderFormLimitVO.java

@@ -45,8 +45,8 @@ public class QueryOrderFormLimitVO implements Serializable {
     private LocalDateTime updateTime;
 
     @ApiModelProperty("描述")
-    private String descripTion;
+    private String description;
 
-    @ApiModelProperty("状态")
+    @ApiModelProperty("状态 1-已创建 2-已绑定")
     private String type;
 }

+ 40 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/ReservationOrderQueryVO.java

@@ -0,0 +1,40 @@
+package com.abi.qms.platform.dao.vo.result;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author ludashi
+ * @date 2021年06月07日 18:24
+ */
+@Data
+@ApiModel
+public class ReservationOrderQueryVO implements Serializable {
+
+    @ApiModelProperty("预订ID")
+    private Long bookingOrderId;
+
+    @ApiModelProperty("预订单号")
+    private String bookingOrder;
+
+    @ApiModelProperty("物料名称")
+    private String materialName;
+
+    @ApiModelProperty("码类型  1-箱码 2-盖码")
+    private String qrType;
+
+    @ApiModelProperty("物料采购数量")
+    private String purchaseCount;
+
+    @ApiModelProperty("包材厂")
+    private String factoryName;
+
+    @ApiModelProperty("是否一级包材厂")
+    private Integer isFirstFactory;
+
+    @ApiModelProperty(name = "包材厂id")
+    private Long factoryCoverId;
+}

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListMaterialBySapOrderRes.java

@@ -31,7 +31,7 @@ public class ListMaterialBySapOrderRes implements Serializable {
     public static class OrderItemBean implements Serializable {
 
         @Schema(name = "订单明细id")
-        private Long orderItemId;
+        private Long id;
 
         @Schema(name = "sap物料id")
         private String sapMaterialId;

+ 2 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListSapCoverFactoryRes.java

@@ -36,10 +36,10 @@ public class ListSapCoverFactoryRes implements Serializable {
         private String sapCoverFactoryName;
 
         @Schema(name = "联系人姓名")
-        private String keyManName;
+        private String keymanName;
 
         @Schema(name = "联系人手机号")
-        private String keyManMobile;
+        private String keymanMobile;
 
     }
 

+ 19 - 19
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/QueryOrderFormDetailRes.java

@@ -20,8 +20,27 @@ import java.util.List;
 @Schema
 public class QueryOrderFormDetailRes implements Serializable {
 
+    @ApiModelProperty("关联码包列表")
     List<QueryPackageDetailBean> queryPackageDetailBean;
 
+    @ApiModelProperty("预订单号")
+    private String bookingOrder;
+
+    @ApiModelProperty("物料名称")
+    private String materialName;
+
+    @ApiModelProperty("采购数量")
+    private Long purchaseCount;
+
+    @ApiModelProperty("二维码类型 1-箱码 2-盖码")
+    private Integer qrType;
+
+    @ApiModelProperty("包材厂")
+    private String factoryCoverName;
+
+    @ApiModelProperty("描述")
+    private String description;
+
     /**
      * 码包对象
      *
@@ -50,23 +69,4 @@ public class QueryOrderFormDetailRes implements Serializable {
 
     }
 
-    @ApiModelProperty("预订单号")
-    private String bookingOrder;
-
-    @ApiModelProperty("物料名称")
-    private String materialName;
-
-    @ApiModelProperty("采购数量")
-    private Long purchaseCount;
-
-    @ApiModelProperty("二维码类型 1-箱码 2-盖码")
-    private Integer qrType;
-
-    @ApiModelProperty("包材厂")
-    private String factoryCoverName;
-
-    @ApiModelProperty("描述")
-    private String description;
-
-
 }

+ 2 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/QueryOrderFormLimitRes.java

@@ -63,9 +63,9 @@ public class QueryOrderFormLimitRes extends PageResp implements Serializable {
         private LocalDateTime updateTime;
 
         @ApiModelProperty("描述")
-        private String descripTion;
+        private String description;
 
-        @ApiModelProperty("状态")
+        @ApiModelProperty("状态 1-已创建 2-已绑定")
         private String type;
     }
 }

+ 58 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ReservationOrderQueryRes.java

@@ -0,0 +1,58 @@
+package com.abi.qms.platform.dto.res;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author ludashi
+ * @date 2021年06月07日 19:04
+ */
+@Data
+@ApiModel
+public class ReservationOrderQueryRes implements Serializable {
+
+    @ApiModelProperty("预订单下拉框选项")
+    List<ReservationOrderQueryBean> reservationOrderQueryBean;
+
+    /**
+     * 码格式Bean
+     */
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ToString
+    @ApiModel(value = "ReservationOrderQueryRes_ReservationOrderQueryBean")
+    public static class ReservationOrderQueryBean implements Serializable{
+        @ApiModelProperty("预订ID")
+        private Long bookingOrderId;
+
+        @ApiModelProperty("预订单号")
+        private String bookingOrder;
+
+        @ApiModelProperty("物料名称")
+        private String materialName;
+
+        @ApiModelProperty("码类型  1-箱码 2-盖码")
+        private String qrType;
+
+        @ApiModelProperty("物料采购数量")
+        private String purchaseCount;
+
+        @ApiModelProperty("包材厂")
+        private String factoryName;
+
+        @ApiModelProperty("是否一级包材厂")
+        private Integer isFirstFactory;
+
+        @ApiModelProperty("包材厂id")
+        private Long factoryCoverId;
+    }
+
+}

+ 89 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/runner/DoCheckTableStoreRunner.java

@@ -0,0 +1,89 @@
+package com.abi.qms.platform.runner;
+
+import com.abi.task.common.api.exception.BusinessException;
+import com.abi.task.common.tablestore.TableStoreUtils;
+import com.abi.task.common.tablestore.common.TableStore;
+import com.google.common.collect.Sets;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
+import org.springframework.core.type.classreading.MetadataReader;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * @className: com.abi.qms.platform.runner-> doCheckTableStore
+ * @description:
+ * @author: Marko.W
+ * @createDate: 2021-06-08 9:59
+ * @version: 1.0
+ * @todo:
+ */
+@Component
+@Slf4j
+public class DoCheckTableStoreRunner implements ApplicationRunner {
+
+    @Autowired
+    private TableStoreUtils tableStoreUtils;
+
+    private static AtomicInteger retryTimes = new AtomicInteger(0);
+    private static String RESOURCE_PATH = "classpath*:com/abi/qms/platform/dao/**/*.class";
+//    private static String RESOURCE_PATH = "classpath*:com/abi/task/common/tablestore/**/*.class";
+
+
+    @Override
+    public void run(ApplicationArguments args) throws Exception {
+        Set<TableStore> tableNames = getAllEntity();
+        Map<String,String> existTableNames = tableStoreUtils.listTables();
+        tableNames.stream()
+                .filter(o->!existTableNames.containsKey(o.tableName()))
+                .forEach(tableInfo->{
+                    log.info("检查到表名{}不存在,开始执行创建",tableInfo.tableName());
+                    long start = System.currentTimeMillis();
+                    tableStoreUtils.createTable(tableInfo.tableName(),tableInfo.primaryKeyName());
+                    log.info("表名{}创建成功,耗时{}ms",tableInfo.tableName(),(System.currentTimeMillis() -start));
+        });
+    }
+
+    private static Set<TableStore> getAllEntity(){
+        Set<TableStore> ret = Sets.newHashSet();
+        PathMatchingResourcePatternResolver pathMatchingResourcePatternResolver = new PathMatchingResourcePatternResolver();
+        CachingMetadataReaderFactory cachingMetadataReaderFactory = new CachingMetadataReaderFactory();
+        try {
+            Resource[] resources = pathMatchingResourcePatternResolver.getResources(RESOURCE_PATH);
+            ClassLoader loader = ClassLoader.getSystemClassLoader();
+            for (Resource resource : resources) {
+                MetadataReader reader = cachingMetadataReaderFactory.getMetadataReader(resource);
+                String className = reader.getClassMetadata().getClassName();
+                Class aClass = loader.loadClass(className);
+                TableStore annotation = (TableStore) aClass.getAnnotation(TableStore.class);
+                if (ObjectUtils.isNotEmpty(annotation)){
+                    ret.add(annotation);
+                }
+            }
+        } catch (Exception e) {
+            if (retryTimes.getAndIncrement()>2){
+                log.error("TableStore 初始化检查失败",e);
+                throw new BusinessException(500,"TableStore 初始化检查失败");
+            }
+            try {
+                Thread.sleep(retryTimes.get() * 1000);
+            } catch (InterruptedException interruptedException) {
+                // Do Nothing
+            }
+            //进行当前重试
+            log.info("当前开始重试,第{}次",retryTimes.get());
+            return getAllEntity();
+        }
+        return ret;
+    }
+
+}

+ 6 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/FactoryService.java

@@ -31,6 +31,12 @@ public interface FactoryService {
      */
     void saveFactory(SaveFactoryReq saveFactoryReq) throws Exception;
 
+    /**
+     * 供应商查询分页
+     * @param listFactoryReq
+     * @return
+     * @throws Exception
+     */
     ListFactoryRes listFactory(ListFactoryReq listFactoryReq) throws Exception;
 
     GetFactoryDetailRes getFactoryDetail(GetFactoryDetailReq getFactoryDetailReq) throws Exception;

+ 10 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/QrPackageBookingOrderService.java

@@ -6,6 +6,7 @@ import com.abi.qms.platform.dto.req.QueryOrderFormLimitReq;
 import com.abi.qms.platform.dto.req.SaveOrderFormReq;
 import com.abi.qms.platform.dto.res.QueryOrderFormDetailRes;
 import com.abi.qms.platform.dto.res.QueryOrderFormLimitRes;
+import com.abi.qms.platform.dto.res.ReservationOrderQueryRes;
 
 public interface QrPackageBookingOrderService {
 
@@ -41,4 +42,13 @@ public interface QrPackageBookingOrderService {
      * @param associateSapOrderReq
      */
     void associateSapOrder(AssociateSapOrderReq associateSapOrderReq);
+
+    /**
+     * 预订单下拉框选项
+     * @author ludashi
+     * @date 2021/6/7 17:56
+     */
+    ReservationOrderQueryRes reservationOrderQuery();
+
+
 }

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/FactoryServiceImpl.java

@@ -129,7 +129,7 @@ public class FactoryServiceImpl implements FactoryService {
         factoryQw.like(StringUtils.isNotBlank(req.getFactoryName()), "factory_name", "%" + req.getFactoryName() + "%");
         factoryQw.eq(req.getFactoryType() != null, "factory_type", req.getFactoryType());
         factoryQw.eq(req.getValid() != null, "valid", req.getValid());
-
+        factoryQw.orderByDesc("update_time");
         //2-分页查询
         IPage<BaseFactory> iPage = baseFactoryMapper.selectPage(PageUtil.createPage(req), factoryQw);
         List<BaseFactory> factoryList = iPage.getRecords();

+ 23 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageBookingOrderServiceImpl.java

@@ -1,17 +1,19 @@
 package com.abi.qms.platform.service.impl;
 
 import com.abi.qms.platform.dao.entity.*;
+import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
 import com.abi.qms.platform.dao.mapper.*;
 import com.abi.qms.platform.dao.vo.result.QueryOrderFormDetailVO;
 import com.abi.qms.platform.dao.vo.result.QueryOrderFormLimitVO;
+import com.abi.qms.platform.dao.vo.result.ReservationOrderQueryVO;
 import com.abi.qms.platform.dto.req.AssociateSapOrderReq;
 import com.abi.qms.platform.dto.req.QueryOrderFormDetailReq;
 import com.abi.qms.platform.dto.req.QueryOrderFormLimitReq;
 import com.abi.qms.platform.dto.req.SaveOrderFormReq;
-import com.abi.qms.platform.dto.res.ListQrVariableRes;
-import com.abi.qms.platform.dto.res.QueryOrderFormDetailRes;
-import com.abi.qms.platform.dto.res.QueryOrderFormLimitRes;
+import com.abi.qms.platform.dto.res.*;
+import com.abi.qms.platform.infrastructure.util.AssertUtil;
 import com.abi.qms.platform.infrastructure.util.PageUtil;
+import com.abi.qms.platform.service.FactoryService;
 import com.abi.qms.platform.service.MaterialService;
 import com.abi.qms.platform.service.QrPackageBookingOrderService;
 import com.abi.task.common.api.exception.BusinessException;
@@ -50,6 +52,9 @@ public class QrPackageBookingOrderServiceImpl implements QrPackageBookingOrderSe
     @Autowired
     private MaterialService materialService;
 
+    @Autowired
+    private FactoryService factoryService;
+
     /**
      * 新增修改预订单
      * @author ludashi
@@ -176,4 +181,19 @@ public class QrPackageBookingOrderServiceImpl implements QrPackageBookingOrderSe
         qrPackageBookingOrderMapper.updateById(qrPackageBookingOrder);
         qrPackageMapper.updateById(qrPackage);
     }
+
+    /**
+     * 预订单下拉框选项
+     * @author ludashi
+     * @date 2021/6/7 17:56
+     */
+    @Override
+    public ReservationOrderQueryRes reservationOrderQuery() {
+        List<ReservationOrderQueryVO> reservationOrderQueryVOS = qrPackageBookingOrderMapper.reservationOrderQuery();
+        //封装出参
+        ReservationOrderQueryRes res= new ReservationOrderQueryRes();
+        List<ReservationOrderQueryRes.ReservationOrderQueryBean> reservationOrderQueryBeans = PojoConverterUtils.copyList(reservationOrderQueryVOS, ReservationOrderQueryRes.ReservationOrderQueryBean.class);
+        res.setReservationOrderQueryBean(reservationOrderQueryBeans);
+        return res;
+    }
 }

+ 27 - 12
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/QrPackageBookingOrderMapper.xml

@@ -38,22 +38,22 @@
 
     <select id="queryOrderFormLimit" resultType="com.abi.qms.platform.dao.vo.result.QueryOrderFormLimitVO">
         SELECT
-            bookingOrder.id id,
-            bookingOrder.booking_order bookingOrder,
-            package.sap_order_no sapOrderNo,
-            meterial.material_name materialName,
-            bookingOrder.purchase_count purchaseCount,
-            bookingOrder.qr_type qrType,
-            factory.factory_name factoryName,
-            package.update_by updateBy,
-            package.update_time updateTime,
-            bookingOrder.description descripTion,
+            bookingOrder.id,
+            bookingOrder.booking_order,
+            package.sap_order_no,
+            material.material_name,
+            bookingOrder.purchase_count,
+            bookingOrder.qr_type,
+            factory.factory_name,
+            package.update_by,
+            package.update_time,
+            bookingOrder.description,
         IF
             ( package.sap_order_no IS NULL, 1, 2 ) type
         FROM
             qr_package_booking_order AS bookingOrder
             LEFT JOIN qr_package AS package ON package.booking_order = bookingOrder.booking_order
-            LEFT JOIN base_material AS meterial ON meterial.id = package.material_id
+            LEFT JOIN base_material AS material ON material.id = package.material_id
             LEFT JOIN base_factory AS factory ON factory.id = bookingOrder.factory_cover_id
         <where>
             <if test="null != queryOrderFormLimitReq.bookingOrder and queryOrderFormLimitReq.bookingOrder !=''">
@@ -63,7 +63,7 @@
                 AND package.sap_order_no = #{queryOrderFormLimitReq.sapOrder}
             </if>
             <if test="null != queryOrderFormLimitReq.materialName and queryOrderFormLimitReq.materialName != ''">
-                AND meterial.material_name = #{queryOrderFormLimitReq.materialName}
+                AND material.material_name = #{queryOrderFormLimitReq.materialName}
             </if>
             <if test="null != queryOrderFormLimitReq.factoryCoverName and  queryOrderFormLimitReq.factoryCoverName != ''">
                 AND factory.factory_name = #{queryOrderFormLimitReq.factoryCoverName}
@@ -77,4 +77,19 @@
         </where>
     </select>
 
+    <select id="reservationOrderQuery" resultType="com.abi.qms.platform.dao.vo.result.ReservationOrderQueryVO">
+        SELECT
+            booking_order.id AS bookingOrderId,
+            booking_order.booking_order AS bookingOrder,
+            booking_order.material_name AS materialName,
+            booking_order.qr_type AS qrType,
+            booking_order.purchase_count AS purchaseCount,
+            factory.id AS factoryCoverId,
+            factory.factory_name AS factoryName,
+			factory.is_first_factory AS isFirstFactory
+        FROM
+            qr_package_booking_order AS booking_order
+            LEFT JOIN base_factory AS factory ON booking_order.factory_cover_id = factory.id
+    </select>
+
 </mapper>

+ 6 - 3
abi-cloud-qr-platform-server/src/test/java/com/abi/qms/platform/ReactBeanTest.java

@@ -1,7 +1,10 @@
 package com.abi.qms.platform;
 
-import com.abi.qms.platform.dto.res.GetPackageCodeRes;
-import com.abi.qms.platform.dto.res.ListMaterialRes;
+import com.abi.qms.platform.dto.req.AssociateSapOrderReq;
+import com.abi.qms.platform.dto.req.QueryOrderFormLimitReq;
+import com.abi.qms.platform.dto.res.QueryOrderFormDetailRes;
+import com.abi.qms.platform.dto.res.QueryOrderFormLimitRes;
+import com.abi.qms.platform.dto.res.ReservationOrderQueryRes;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.extern.slf4j.Slf4j;
@@ -18,7 +21,7 @@ import java.util.Map;
 public class ReactBeanTest {
 
     public static void main(String[] args) {
-        Class clz = ListMaterialRes.MaterialBean.class;
+        Class clz = ReservationOrderQueryRes.ReservationOrderQueryBean.class;
 
         Map<Class,String> classMap = new HashMap<>();
         classMap.put(String.class,"string");

+ 7 - 4
abi-cloud-qr-platform-server/src/test/java/com/abi/qms/platform/TableStoreTest.java

@@ -4,10 +4,7 @@ import cn.hutool.json.JSONUtil;
 import com.abi.task.common.tablestore.TableStoreUtils;
 import com.abi.task.common.tablestore.common.TableStoreReq;
 import com.abi.task.common.tablestore.common.TableStoreRes;
-import com.alicloud.openservices.tablestore.model.Column;
-import com.alicloud.openservices.tablestore.model.ColumnValue;
-import com.alicloud.openservices.tablestore.model.DeleteTableRequest;
-import com.alicloud.openservices.tablestore.model.Row;
+import com.alicloud.openservices.tablestore.model.*;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -98,4 +95,10 @@ public class TableStoreTest {
     }
 
 
+    @Test
+    public void updateTable(){
+        String tableName = "qr_code";
+        UpdateTableResponse response = tableStoreUtils.updateTable(100000,tableName);
+        log.info("更新表结构吞吐:{}",JSONUtil.toJsonStr(response));
+    }
 }