From 8d530a2bc48f5f28937e0b4507b7deccf9e34e92 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 08 一月 2024 15:13:00 +0800
Subject: [PATCH] #
---
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/HostKeyController.java | 8
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/ApiListService.java | 8
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java | 5
zy-asrs-common/src/main/resources/mapper/openapi/ApiListMapper.xml | 5
zy-asrs-openapi/src/main/webapp/views/index.html | 6
zy-asrs-openapi/src/main/webapp/views/reportApiManage.html | 268 ++++++++-
zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/OrderSettleType.java | 4
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/impl/ApiListServiceImpl.java | 12
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiLogController.java | 2
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/mapper/ApiListMapper.java | 12
zy-asrs-openapi/src/main/webapp/views/createMat.html | 6
zy-asrs-openapi/src/main/webapp/views/md/reportCompleted.md | 85 +++
zy-asrs-openapi/src/main/webapp/views/getOrderStatus.html | 6
zy-asrs-openapi/src/main/webapp/views/generateOrderPakOut.html | 6
zy-asrs-common/pom.xml | 6
zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java | 212 +++++++
zy-asrs-openapi/src/main/webapp/views/reportCancel.html | 223 ++++++++
zy-asrs-openapi/src/main/webapp/views/getOrderList.html | 6
/dev/null | 146 -----
zy-asrs-openapi/src/main/webapp/views/getOrderType.html | 6
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/ApiList.java | 123 ++++
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/task/ReportApiScheduler.java | 171 ++++++
zy-asrs-openapi/src/main/webapp/views/generateOrderPakIn.html | 6
zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/ApiType.java | 41 +
zy-asrs-openapi/src/main/webapp/views/reportCompleted.html | 29
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiListController.java | 127 ++++
zy-asrs-openapi/src/main/webapp/views/md/reportCancel.md | 85 +++
27 files changed, 1,404 insertions(+), 210 deletions(-)
diff --git a/zy-asrs-common/pom.xml b/zy-asrs-common/pom.xml
index 90c72ac..fd8e498 100644
--- a/zy-asrs-common/pom.xml
+++ b/zy-asrs-common/pom.xml
@@ -66,6 +66,12 @@
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
+ <!-- okHttp3 -->
+ <dependency>
+ <groupId>com.squareup.okhttp3</groupId>
+ <artifactId>okhttp</artifactId>
+ <version>3.10.0</version>
+ </dependency>
</dependencies>
<build>
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/ApiType.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/ApiType.java
new file mode 100644
index 0000000..9d5b271
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/ApiType.java
@@ -0,0 +1,41 @@
+package com.zy.asrs.common.domain.enums;
+
+public enum ApiType {
+
+ ORDER_COMPLETE("order_complete", "璁㈠崟瀹屾垚"),
+ ORDER_CANCEL("order_cancel", "璁㈠崟鍙栨秷"),
+ REPORT_STOCK("report_stock", "搴撳瓨涓婃姤"),
+ ;
+ public String type;
+ public String desc;
+
+ ApiType(String type, String desc) {
+ this.type = type;
+ this.desc = desc;
+ }
+
+ public static ApiType get(String id) {
+ if (null == id) {
+ return null;
+ }
+ for (ApiType type : ApiType.values()) {
+ if (type.type.equals(id)) {
+ return type;
+ }
+ }
+ return null;
+ }
+
+ public static ApiType get(ApiType type) {
+ if (null == type) {
+ return null;
+ }
+ for (ApiType type1 : ApiType.values()) {
+ if (type1 == type) {
+ return type1;
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/OrderSettleType.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/OrderSettleType.java
index bb6f035..ac66f93 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/OrderSettleType.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/OrderSettleType.java
@@ -11,8 +11,8 @@
REPORT_COMPLETE(6, "涓婃姤瀹屾垚")
;
- private Integer id;
- private String desc;
+ public Integer id;
+ public String desc;
OrderSettleType(Integer id, String desc) {
this.id = id;
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/ApiList.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/ApiList.java
new file mode 100644
index 0000000..60499c5
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/ApiList.java
@@ -0,0 +1,123 @@
+package com.zy.asrs.common.openapi.entity;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import com.zy.asrs.common.domain.enums.ApiType;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.SpringUtils;
+import com.zy.asrs.common.sys.entity.User;
+import com.zy.asrs.common.sys.entity.Host;
+import com.zy.asrs.common.sys.service.UserService;
+import com.zy.asrs.common.sys.service.HostService;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName("openapi_api_list")
+public class ApiList implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ @ApiModelProperty(value= "ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 涓婃姤URL
+ */
+ @ApiModelProperty(value= "涓婃姤URL")
+ private String url;
+
+ /**
+ * 涓婃姤绫诲瀷
+ */
+ @ApiModelProperty(value= "涓婃姤绫诲瀷")
+ private String type;
+
+ /**
+ * 鏄惁寮�鍚� 0: 鍏抽棴 1: 寮�鍚�
+ */
+ @ApiModelProperty(value= "鏄惁寮�鍚� 0: 鍏抽棴 1: 寮�鍚� ")
+ private Integer status;
+
+ /**
+ * 鎺堟潈鍟嗘埛
+ */
+ @ApiModelProperty(value= "鎺堟潈鍟嗘埛")
+ private Long hostId;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ApiModelProperty(value= "鍒涘缓鏃堕棿")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ public ApiList() {}
+
+ public ApiList(String url,String type,Integer status,Long hostId,Date createTime) {
+ this.url = url;
+ this.type = type;
+ this.status = status;
+ this.hostId = hostId;
+ this.createTime = createTime;
+ }
+
+// ApiList apiList = new ApiList(
+// null, // 涓婃姤URL
+// null, // 涓婃姤绫诲瀷
+// null, // 鏄惁寮�鍚�
+// null, // 鎺堟潈鍟嗘埛
+// null // 鍒涘缓鏃堕棿
+// );
+
+ public String getStatus$(){
+ if (null == this.status){ return null; }
+ switch (this.status){
+ case 0:
+ return "鍏抽棴";
+ case 1:
+ return "寮�鍚�";
+ default:
+ return String.valueOf(this.status);
+ }
+ }
+
+ public String getHostId$(){
+ HostService service = SpringUtils.getBean(HostService.class);
+ Host host = service.getById(this.hostId);
+ if (!Cools.isEmpty(host)){
+ return String.valueOf(host.getName());
+ }
+ return null;
+ }
+
+ public String getCreateTime$(){
+ if (Cools.isEmpty(this.createTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+ }
+
+ public String getType$() {
+ if (this.type == null) {
+ return "";
+ }
+ return ApiType.get(this.type).desc;
+ }
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/mapper/ApiListMapper.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/mapper/ApiListMapper.java
new file mode 100644
index 0000000..e319b2a
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/mapper/ApiListMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.common.openapi.mapper;
+
+import com.zy.asrs.common.openapi.entity.ApiList;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface ApiListMapper extends BaseMapper<ApiList> {
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/ApiListService.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/ApiListService.java
new file mode 100644
index 0000000..a2f617f
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/ApiListService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.common.openapi.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.common.openapi.entity.ApiList;
+
+public interface ApiListService extends IService<ApiList> {
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/impl/ApiListServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/impl/ApiListServiceImpl.java
new file mode 100644
index 0000000..9d6feb3
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/impl/ApiListServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.common.openapi.service.impl;
+
+import com.zy.asrs.common.openapi.mapper.ApiListMapper;
+import com.zy.asrs.common.openapi.entity.ApiList;
+import com.zy.asrs.common.openapi.service.ApiListService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("apiListService")
+public class ApiListServiceImpl extends ServiceImpl<ApiListMapper, ApiList> implements ApiListService {
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java
new file mode 100644
index 0000000..4f05b6e
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java
@@ -0,0 +1,212 @@
+package com.zy.asrs.common.utils;
+
+import okhttp3.*;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Optional;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Http鍗忚瀹㈡埛绔�
+ * @author luxiaotao
+ * @date 2018-9-27
+ */
+public class HttpHandler {
+
+ private static final Integer DEFAULT_TIMEOUT_SECONDS = 5;
+ private static final MediaType MEDIA_TYPE = MediaType.parse("application/json;charset=utf-8");
+
+ private String uri;
+ private String path;
+ private String json;
+ private Map<String, Object> params;
+ private Map<String, Object> headers;
+ private boolean https;
+ private Integer timeout;
+ private TimeUnit timeUnit;
+
+ public HttpHandler(Builder builder){
+ this.uri = builder.uri;
+ this.path = builder.path;
+ this.json = builder.json;
+ this.params = builder.params;
+ this.headers = builder.headers;
+ this.https = builder.https;
+ this.timeout = builder.timeout;
+ this.timeUnit = builder.timeUnit;
+ }
+
+ /**
+ * GET璇锋眰鎵ц
+ * @return the HttpHandler response
+ */
+ public String doGet() throws IOException {
+ String url = paramsToUrl(uri, path, params, https);
+ Request.Builder headerBuilder = new Request.Builder();
+ if (headers != null && headers.size()>0){
+ for (Map.Entry<String, Object> entry : headers.entrySet()){
+ headerBuilder.addHeader(entry.getKey(), String.valueOf(entry.getValue()));
+ }
+ }
+ Request request = headerBuilder.url(url).build();
+ Response response = getClient(timeout, timeUnit).newCall(request).execute();
+ return response.isSuccessful() ? response.body().string() : null;
+ }
+
+ /**
+ * POST璇锋眰鎵ц
+ * @return the HttpHandler response
+ */
+ public String doPost() throws IOException {
+ Request request;
+ Request.Builder headerBuilder = new Request.Builder();
+ if (headers != null && headers.size()>0){
+ for (Map.Entry<String, Object> entry : headers.entrySet()){
+ headerBuilder.addHeader(entry.getKey(), String.valueOf(entry.getValue()));
+ }
+ }
+ if (json == null || "".equals(json)){
+ FormBody.Builder builder = new FormBody.Builder();
+ for (Map.Entry<String, Object> entry : params.entrySet()){
+ builder.add(entry.getKey(), String.valueOf(entry.getValue()));
+ }
+ FormBody body = builder.build();
+ request = headerBuilder
+ .url((https?"https://":"http://")+uri+path)
+ .post(body)
+ .build();
+ } else {
+ RequestBody body = RequestBody.create(MEDIA_TYPE, json);
+ Request.Builder builder = headerBuilder.url((https?"https://":"http://")+uri+path);
+ builder.header("Content-Type", "application/json;charset=UTF-8");
+ request = builder.post(body).build();
+
+ }
+ Call call = getClient(timeout, timeUnit).newCall(request);
+ Response response = call.execute();
+ return response.body().string();
+
+ }
+
+ /**
+ * get璇锋眰鍙傛暟鎷兼帴鏂规硶
+ * @return 璇锋眰琛�
+ */
+ private String paramsToUrl(String uri, String path, Map<String, Object> params, boolean isHttps) {
+ StringBuilder res = new StringBuilder();
+ res.append(isHttps ? "https://" : "http://");
+ res.append(uri);
+ if (path.length() > 0 && !(path.charAt(0) == '/')){
+ res.append("/");
+ }
+ res.append(path);
+ Optional.ofNullable(params).ifPresent(
+ args -> {
+ res.append("?");
+ args.forEach((key, value) -> {
+ res.append(key);
+ res.append("=");
+ res.append(value);
+ res.append("&");
+ });
+ }
+ );
+ String url = res.toString();
+ if ("&".equals(url.substring(url.length()-1, url.length()))){
+ url = url.substring(0, url.length()-1);
+ }
+ return url;
+ }
+
+ /**
+ * 鑾峰彇 okHttpClient
+ * @return the HttpHandler instance
+ */
+ private OkHttpClient getClient(Integer timeout, TimeUnit timeUnit){
+ return new OkHttpClient
+ .Builder()
+ .connectTimeout(timeout, timeUnit)
+ .readTimeout(timeout, timeUnit)
+ .build();
+ }
+
+ /**
+ * Http鍗忚鎶ユ枃寤洪�犺��
+ */
+ public static class Builder {
+
+ private String uri;
+ private String path;
+ private String json;
+ private Map<String, Object> params;
+ private Map<String, Object> headers;
+ private boolean https;
+ private Integer timeout;
+ private TimeUnit timeUnit;
+
+ {
+ // 榛樿5s瓒呮椂
+ timeout = DEFAULT_TIMEOUT_SECONDS;
+ timeUnit = TimeUnit.SECONDS;
+ path = "";
+ }
+
+ /**
+ * 寤洪�犲櫒
+ * @return the HttpHandler instance
+ */
+ public HttpHandler build(){
+ if (null == this.uri || "".equals(this.uri)){
+ throw new RuntimeException("uri is null");
+ }
+ if (this.uri.startsWith("http://")){
+ this.uri = this.uri.substring(6,uri.length());
+ } else if (this.uri.startsWith("https://")){
+ this.uri = this.uri.substring(7,uri.length());
+ }
+ return new HttpHandler(this);
+ }
+
+ public Builder setUri(String uri) {
+ this.uri = uri;
+ return this;
+ }
+
+ public Builder setPath(String path) {
+ if (!path.startsWith("/")){
+ path = "/" + path;
+ }
+ this.path = path;
+ return this;
+ }
+
+ public Builder setTimeout(Integer timeout, TimeUnit timeUnit) {
+ this.timeout = timeout;
+ this.timeUnit = timeUnit;
+ return this;
+ }
+
+ public Builder setParams(Map<String, Object> params) {
+ this.params = params;
+ return this;
+ }
+
+ public Builder setHeaders(Map<String, Object> headers) {
+ this.headers = headers;
+ return this;
+ }
+
+ public Builder setHttps(boolean https) {
+ this.https = https;
+ return this;
+ }
+
+ public Builder setJson(String json) {
+ this.json = json;
+ return this;
+ }
+
+ }
+
+}
diff --git a/zy-asrs-common/src/main/resources/mapper/openapi/ApiListMapper.xml b/zy-asrs-common/src/main/resources/mapper/openapi/ApiListMapper.xml
new file mode 100644
index 0000000..dacc46e
--- /dev/null
+++ b/zy-asrs-common/src/main/resources/mapper/openapi/ApiListMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.common.openapi.mapper.ApiListMapper">
+
+</mapper>
diff --git a/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java
index e99f77a..3a87444 100644
--- a/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java
+++ b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java
@@ -38,6 +38,11 @@
@Autowired
private ApiService apiService;
+ @PostMapping("/test")
+ public R test() {
+ return R.ok();
+ }
+
/**
* 鐢熸垚鍏ュ簱璁㈠崟
*/
diff --git a/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiListController.java b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiListController.java
new file mode 100644
index 0000000..01df9fa
--- /dev/null
+++ b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiListController.java
@@ -0,0 +1,127 @@
+package com.zy.asrs.openapi.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.asrs.common.openapi.entity.ApiList;
+import com.zy.asrs.common.openapi.service.ApiListService;
+import com.zy.asrs.framework.annotations.ManagerAuth;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.R;
+import com.zy.asrs.framework.domain.KeyValueVo;
+import com.zy.asrs.framework.common.DateUtils;
+import com.zy.asrs.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@RestController
+public class ApiListController extends BaseController {
+
+ @Autowired
+ private ApiListService apiListService;
+
+ @RequestMapping(value = "/apiList/{id}/auth")
+ @ManagerAuth
+ public R get(@PathVariable("id") String id) {
+ return R.ok(apiListService.getById(String.valueOf(id)));
+ }
+
+ @RequestMapping(value = "/apiList/page/auth")
+ @ManagerAuth
+ public R page(@RequestParam(defaultValue = "1") Integer curr,
+ @RequestParam(defaultValue = "10") Integer limit,
+ @RequestParam(required = false) String condition,
+ @RequestParam(required = false) String timeRange,
+ @RequestParam Map<String, Object> param) {
+ LambdaQueryWrapper<ApiList> wrapper = new LambdaQueryWrapper<>();
+ if (!Cools.isEmpty(condition)) {
+ wrapper.like(ApiList::getId, condition);
+ }
+ if (!Cools.isEmpty(timeRange)) {
+ String[] range = timeRange.split(RANGE_TIME_LINK);
+ wrapper.ge(ApiList::getCreateTime, DateUtils.convert(range[0]));
+ wrapper.le(ApiList::getCreateTime, DateUtils.convert(range[1]));
+ }
+ if (!Cools.isEmpty(param.get("url"))) {
+ wrapper.eq(ApiList::getUrl, param.get("url"));
+ }
+ if (!Cools.isEmpty(param.get("type"))) {
+ wrapper.eq(ApiList::getType, param.get("type"));
+ }
+ if (!Cools.isEmpty(param.get("status"))) {
+ wrapper.eq(ApiList::getStatus, param.get("status"));
+ }
+ if (!Cools.isEmpty(param.get("hostId"))) {
+ wrapper.eq(ApiList::getHostId, param.get("hostId"));
+ }
+ return R.ok(apiListService.page(new Page<>(curr, limit), wrapper));
+ }
+
+
+ @RequestMapping(value = "/apiList/add/auth")
+ @ManagerAuth
+ public R add(ApiList apiList) {
+ ApiList one = apiListService.getOne(new LambdaQueryWrapper<ApiList>()
+ .eq(ApiList::getUrl, apiList.getUrl())
+ .eq(ApiList::getType, apiList.getType())
+ .eq(ApiList::getHostId, apiList.getHostId()));
+ if (one != null) {
+ apiListService.removeById(one.getId());
+ }
+ apiList.setCreateTime(new Date());
+ apiListService.save(apiList);
+ return R.ok();
+ }
+
+ @RequestMapping(value = "/apiList/update/auth")
+ @ManagerAuth
+ public R update(ApiList apiList){
+ if (Cools.isEmpty(apiList) || null==apiList.getId()){
+ return R.error();
+ }
+ apiList.setCreateTime(new Date());
+ apiListService.updateById(apiList);
+ return R.ok();
+ }
+
+ @RequestMapping(value = "/apiList/delete/auth")
+ @ManagerAuth
+ public R delete(@RequestParam(value="ids[]") Long[] ids){
+ for (Long id : ids){
+ apiListService.removeById(id);
+ }
+ return R.ok();
+ }
+
+ @RequestMapping(value = "/apiListQuery/auth")
+ @ManagerAuth
+ public R query(String condition) {
+ LambdaQueryWrapper<ApiList> wrapper = new LambdaQueryWrapper<>();
+ wrapper.like(ApiList::getId, condition);
+ Page<ApiList> page = apiListService.page(new Page<>(0, 10), wrapper);
+ List<Map<String, Object>> result = new ArrayList<>();
+ for (ApiList apiList : page.getRecords()){
+ Map<String, Object> map = new HashMap<>();
+ map.put("id", apiList.getId());
+ map.put("value", apiList.getId());
+ result.add(map);
+ }
+ return R.ok(result);
+ }
+
+ @RequestMapping("/apiList/all/get/kv")
+ @ManagerAuth
+ public R getDataKV(@RequestParam(required = false) String condition) {
+ List<KeyValueVo> vos = new ArrayList<>();
+ LambdaQueryWrapper<ApiList> wrapper = new LambdaQueryWrapper<>();
+ if (!Cools.isEmpty(condition)) {
+ wrapper.like(ApiList::getId, condition);
+ }
+ apiListService.page(new Page<>(1, 30), wrapper).getRecords().forEach(item -> vos.add(new KeyValueVo(String.valueOf(item.getId()), item.getId())));
+ return R.ok().add(vos);
+ }
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/controller/ApiLogController.java b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiLogController.java
similarity index 98%
rename from zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/controller/ApiLogController.java
rename to zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiLogController.java
index 4b18652..0e87b3b 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/controller/ApiLogController.java
+++ b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiLogController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.common.openapi.controller;
+package com.zy.asrs.openapi.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
diff --git a/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/HostKeyController.java b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/HostKeyController.java
index 1cb9954..9fca8dd 100644
--- a/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/HostKeyController.java
+++ b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/HostKeyController.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.common.openapi.entity.HostKey;
import com.zy.asrs.common.openapi.service.HostKeyService;
+import com.zy.asrs.common.sys.service.HostService;
import com.zy.asrs.common.utils.Utils;
import com.zy.asrs.framework.annotations.ManagerAuth;
import com.zy.asrs.framework.common.Cools;
@@ -24,6 +25,8 @@
@Autowired
private HostKeyService hostKeyService;
+ @Autowired
+ private HostService hostService;
@RequestMapping(value = "/hostKey/{id}/auth")
@ManagerAuth
@@ -144,4 +147,9 @@
return R.ok().add(vos);
}
+ @RequestMapping("/host/list")
+ public R getHostList() {
+ return R.ok().add(hostService.list());
+ }
+
}
diff --git a/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/task/ReportApiScheduler.java b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/task/ReportApiScheduler.java
new file mode 100644
index 0000000..147f4bf
--- /dev/null
+++ b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/task/ReportApiScheduler.java
@@ -0,0 +1,171 @@
+package com.zy.asrs.openapi.task;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.common.domain.enums.ApiType;
+import com.zy.asrs.common.domain.enums.OrderSettleType;
+import com.zy.asrs.common.openapi.entity.ApiList;
+import com.zy.asrs.common.openapi.entity.HostKey;
+import com.zy.asrs.common.openapi.service.ApiListService;
+import com.zy.asrs.common.openapi.service.HostKeyService;
+import com.zy.asrs.common.utils.HttpHandler;
+import com.zy.asrs.common.wms.entity.Order;
+import com.zy.asrs.common.wms.entity.OrderDetl;
+import com.zy.asrs.common.wms.service.OrderDetlService;
+import com.zy.asrs.common.wms.service.OrderService;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class ReportApiScheduler {
+
+ @Autowired
+ private ApiListService apiListService;
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private OrderDetlService orderDetlService;
+ @Autowired
+ private HostKeyService hostKeyService;
+
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void orderComplete() {
+ //璁㈠崟瀹屾垚涓婃姤
+
+ //鑾峰彇宸插畬鎴愯鍗�
+ List<Order> list = orderService.list(new LambdaQueryWrapper<Order>()
+ .eq(Order::getSettle, OrderSettleType.COMPLETE.id));
+ for (Order order : list) {
+ //鏌ヨ鏄惁闇�瑕佷笂鎶�
+ ApiList apiList = apiListService.getOne(new LambdaQueryWrapper<ApiList>()
+ .eq(ApiList::getType, ApiType.ORDER_COMPLETE.type)
+ .eq(ApiList::getStatus, 1)
+ .eq(ApiList::getHostId,order.getHostId()));
+ if (apiList == null) {
+ continue;
+ }
+
+ //鑾峰彇璁㈠崟鏄庣粏
+ List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+ .eq(OrderDetl::getOrderId, order.getId()));
+
+ //灏佽鏁版嵁
+ HashMap<String, Object> data = new HashMap<>();
+ data.put("order", order);
+ data.put("orderDetls", orderDetls);
+
+ getSign(data, order.getHostId());//鑾峰彇绛惧悕
+
+ try {
+ String response = new HttpHandler.Builder()
+ .setUri(apiList.getUrl())
+ .setJson(JSON.toJSONString(data))
+ .build()
+ .doPost();
+ JSONObject result = JSON.parseObject(response);
+ if (result.getOrDefault("code", 0).equals(200)) {
+ order.setSettle(OrderSettleType.REPORT_COMPLETE.id.longValue());
+ order.setUpdateTime(new Date());
+ orderService.updateById(order);//鏇存柊璁㈠崟鐘舵��
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void orderCancel() {
+ //璁㈠崟鍙栨秷涓婃姤
+
+ //鑾峰彇宸插彇娑堣鍗�
+ List<Order> list = orderService.list(new LambdaQueryWrapper<Order>()
+ .eq(Order::getSettle, OrderSettleType.CANCEL.id));
+ for (Order order : list) {
+ //鏌ヨ鏄惁闇�瑕佷笂鎶�
+ ApiList apiList = apiListService.getOne(new LambdaQueryWrapper<ApiList>()
+ .eq(ApiList::getType, ApiType.ORDER_CANCEL.type)
+ .eq(ApiList::getStatus, 1)
+ .eq(ApiList::getHostId,order.getHostId()));
+ if (apiList == null) {
+ continue;
+ }
+
+ //鑾峰彇璁㈠崟鏄庣粏
+ List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+ .eq(OrderDetl::getOrderId, order.getId()));
+
+ //灏佽鏁版嵁
+ HashMap<String, Object> data = new HashMap<>();
+ data.put("order", order);
+ data.put("orderDetls", orderDetls);
+
+ getSign(data, order.getHostId());//鑾峰彇绛惧悕
+
+ try {
+ String response = new HttpHandler.Builder()
+ .setUri(apiList.getUrl())
+ .setJson(JSON.toJSONString(data))
+ .build()
+ .doPost();
+ JSONObject result = JSON.parseObject(response);
+ if (result.getOrDefault("code", 0).equals(200)) {
+ order.setSettle(OrderSettleType.REPORT_COMPLETE.id.longValue());
+ order.setUpdateTime(new Date());
+ orderService.updateById(order);//鏇存柊璁㈠崟鐘舵��
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Scheduled(cron = "* 30 23 * * ? ")
+ public void reportStock() {
+ //搴撳瓨涓婃姤
+ //姣忓ぉ鏅氫笂11鐐瑰崐鎵ц
+
+ //鏌ヨ鏄惁闇�瑕佷笂鎶�
+ List<ApiList> list = apiListService.list(new LambdaQueryWrapper<ApiList>()
+ .eq(ApiList::getType, ApiType.REPORT_STOCK.type)
+ .eq(ApiList::getStatus, 1));
+ for (ApiList apiList : list) {
+
+ }
+
+ }
+
+ //鑾峰彇绛惧悕
+ public String getSign(HashMap<String, Object> data, Long hostId) {
+ HostKey hostKey = hostKeyService.getOne(new LambdaQueryWrapper<HostKey>()
+ .eq(HostKey::getHostId, hostId));
+ if (hostKey == null) {
+ return null;
+ }
+
+ if (hostKey.getSignStatus() == 0) {//娌℃湁寮�鍚鍚�
+ return null;
+ }
+
+ //鍒涘缓鑷劧鎺掑簭map
+ JSONObject param = new JSONObject(true);
+ for (Map.Entry<String, Object> entry : data.entrySet()) {
+ if (!entry.getKey().equals("sign")) {//鍓旈櫎sign
+ param.put(entry.getKey(), entry.getValue());
+ }
+ }
+ param.put("signKey", hostKey.getSignKey());
+ String md5Hex = DigestUtils.md5Hex(param.toJSONString());
+ data.put("sign", md5Hex);
+ return md5Hex;
+ }
+
+}
diff --git a/zy-asrs-openapi/src/main/webapp/views/apiManage.html b/zy-asrs-openapi/src/main/webapp/views/apiManage.html
deleted file mode 100644
index 4918caf..0000000
--- a/zy-asrs-openapi/src/main/webapp/views/apiManage.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>API寮�鏀惧钩鍙� - API绠$悊</title>
- <link rel="stylesheet" href="../static/css/element.css">
- <link rel="stylesheet" href="../static/css/common.css">
- <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
- <script type="text/javascript" src="../static/js/vue.min.js"></script>
- <script type="text/javascript" src="../static/js/showdown.min.js"></script>
- <script type="text/javascript" src="../static/js/common.js"></script>
- <script type="text/javascript" src="../static/js/element.js"></script>
-</head>
-<body>
- <div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;">
- <div style="width: 80%;">
- <el-card class="box-card">
- <el-form :inline="true" :model="tableSearchParam" class="demo-form-inline">
- <el-form-item label="">
- <el-input v-model="tableSearchParam.task_no" placeholder="浠诲姟鍙�"></el-input>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="getTableData">鏌ヨ</el-button>
- <el-button type="primary" @click="resetParam">閲嶇疆</el-button>
- </el-form-item>
- </el-form>
- <el-table ref="singleTable" :data="tableData" style="width: 100%;">
- <el-table-column property="id" label="#ID">
- </el-table-column>
- <el-table-column property="wrkNo" label="宸ヤ綔鍙�">
- </el-table-column>
- <el-table-column property="taskNo" label="浠诲姟鍙�">
- </el-table-column>
- <el-table-column property="commandStatus$" label="鎸囦护鐘舵��">
- </el-table-column>
- <el-table-column show-overflow-tooltip property="durationTime" label="鎸佺画鏃堕暱">
- </el-table-column>
- <el-table-column property="commandType" label="鎸囦护绫诲瀷">
- </el-table-column>
- <el-table-column property="device" label="璁惧">
- </el-table-column>
- <el-table-column property="deviceLog" label="璁惧鎵ц淇℃伅">
- </el-table-column>
- <el-table-column property="commandDesc" label="鍛戒护鎻忚堪">
- </el-table-column>
- <el-table-column show-overflow-tooltip property="startTime$" label="寮�濮嬫椂闂�">
- </el-table-column>
- <el-table-column show-overflow-tooltip property="executeTime$" label="鎵ц鏃堕棿">
- </el-table-column>
- <el-table-column show-overflow-tooltip property="completeTime$" label="瀹屾垚鏃堕棿">
- </el-table-column>
- <el-table-column show-overflow-tooltip property="command" label="鍛戒护鎶ユ枃" width="250">
- </el-table-column>
- </el-table>
-
- <div style="margin-top: 10px;">
- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
- :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize"
- layout="total, sizes, prev, pager, next, jumper" :total="pageTotal">
- </el-pagination>
- </div>
- </el-card>
- </div>
-
- <div style="position: fixed;top: 20px;right: 20px;width: 150px;border-left: 3px solid #f0f0f0;padding-left: 15px;">
- <div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
- </div>
- </div>
-
- <script>
- var app = new Vue({
- el: '#app',
- data: {
- tableData: [],
- currentPage: 1,
- pageSizes: [16, 30, 50, 100, 150, 200],
- pageSize: 16,
- pageTotal: 0,
- tableSearchParam: {
- task_no: null,
- },
- },
- created() {
- this.init()
- },
- methods: {
- init() {
- this.getTableData()
- },
- getTableData() {
- let that = this;
- let data = this.tableSearchParam
- data.curr = this.currentPage
- data.limit = this.pageSize
- $.ajax({
- url: baseUrl + "/commandInfoLog/list/auth",
- headers: {
- 'token': localStorage.getItem('token')
- },
- data: data,
- dataType: 'json',
- contentType: 'application/json;charset=UTF-8',
- method: 'GET',
- success: function(res) {
- if (res.code == 200) {
- that.tableData = res.data.records
- that.pageTotal = res.data.total
- } else {
- that.$message({
- message: res.msg,
- type: 'error'
- });
- }
- }
- });
- },
- handleSizeChange(val) {
- console.log(`姣忛〉 ${val} 鏉);
- this.pageSize = val
- this.getTableData()
- },
- handleCurrentChange(val) {
- console.log(`褰撳墠椤�: ${val}`);
- this.currentPage = val
- this.getTableData()
- },
- resetParam() {
- this.tableSearchParam = {
- task_no: null,
- status: null,
- wrk_no: null
- }
- this.getTableData()
- },
- switchPage(url) {
- location.href = url
- }
- }
- })
- </script>
-</body>
-</html>
\ No newline at end of file
diff --git a/zy-asrs-openapi/src/main/webapp/views/createMat.html b/zy-asrs-openapi/src/main/webapp/views/createMat.html
index 32d6883..54e1dcd 100644
--- a/zy-asrs-openapi/src/main/webapp/views/createMat.html
+++ b/zy-asrs-openapi/src/main/webapp/views/createMat.html
@@ -17,9 +17,9 @@
<div class="slider">
<div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
<el-divider></el-divider>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
<div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
<el-divider></el-divider>
<div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
diff --git a/zy-asrs-openapi/src/main/webapp/views/generateOrderPakIn.html b/zy-asrs-openapi/src/main/webapp/views/generateOrderPakIn.html
index 3976790..c2ebad0 100644
--- a/zy-asrs-openapi/src/main/webapp/views/generateOrderPakIn.html
+++ b/zy-asrs-openapi/src/main/webapp/views/generateOrderPakIn.html
@@ -17,9 +17,9 @@
<div class="slider">
<div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
<el-divider></el-divider>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
<div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
<el-divider></el-divider>
<div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
diff --git a/zy-asrs-openapi/src/main/webapp/views/generateOrderPakOut.html b/zy-asrs-openapi/src/main/webapp/views/generateOrderPakOut.html
index 5901e82..c7cb772 100644
--- a/zy-asrs-openapi/src/main/webapp/views/generateOrderPakOut.html
+++ b/zy-asrs-openapi/src/main/webapp/views/generateOrderPakOut.html
@@ -17,9 +17,9 @@
<div class="slider">
<div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
<el-divider></el-divider>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
<div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
<el-divider></el-divider>
<div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
diff --git a/zy-asrs-openapi/src/main/webapp/views/getOrderList.html b/zy-asrs-openapi/src/main/webapp/views/getOrderList.html
index ccd4650..aebc2ab 100644
--- a/zy-asrs-openapi/src/main/webapp/views/getOrderList.html
+++ b/zy-asrs-openapi/src/main/webapp/views/getOrderList.html
@@ -17,9 +17,9 @@
<div class="slider">
<div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
<el-divider></el-divider>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
<div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
<el-divider></el-divider>
<div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
diff --git a/zy-asrs-openapi/src/main/webapp/views/getOrderStatus.html b/zy-asrs-openapi/src/main/webapp/views/getOrderStatus.html
index e172d5f..20f0d32 100644
--- a/zy-asrs-openapi/src/main/webapp/views/getOrderStatus.html
+++ b/zy-asrs-openapi/src/main/webapp/views/getOrderStatus.html
@@ -17,9 +17,9 @@
<div class="slider">
<div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
<el-divider></el-divider>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
<div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
<el-divider></el-divider>
<div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
diff --git a/zy-asrs-openapi/src/main/webapp/views/getOrderType.html b/zy-asrs-openapi/src/main/webapp/views/getOrderType.html
index 177b976..655df7a 100644
--- a/zy-asrs-openapi/src/main/webapp/views/getOrderType.html
+++ b/zy-asrs-openapi/src/main/webapp/views/getOrderType.html
@@ -17,9 +17,9 @@
<div class="slider">
<div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
<el-divider></el-divider>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
<div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
<el-divider></el-divider>
<div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
diff --git a/zy-asrs-openapi/src/main/webapp/views/index.html b/zy-asrs-openapi/src/main/webapp/views/index.html
index ee2ee3f..11fe5c6 100644
--- a/zy-asrs-openapi/src/main/webapp/views/index.html
+++ b/zy-asrs-openapi/src/main/webapp/views/index.html
@@ -17,9 +17,9 @@
<div class="slider">
<div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
<el-divider></el-divider>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
<div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
<el-divider></el-divider>
<div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
diff --git a/zy-asrs-openapi/src/main/webapp/views/md/reportCancel.md b/zy-asrs-openapi/src/main/webapp/views/md/reportCancel.md
new file mode 100644
index 0000000..28e7a7c
--- /dev/null
+++ b/zy-asrs-openapi/src/main/webapp/views/md/reportCancel.md
@@ -0,0 +1,85 @@
+
+## 璁㈠崟鍙栨秷涓婃姤
+- **鎺ュ彛璇存槑锛�** 璁㈠崟鍙栨秷涓婃姤
+
+涓婃姤绀轰緥锛�
+
+```
+{
+ "orderDetls": [
+ {
+ "anfme": 10,
+ "barcode": "",
+ "createBy": 9527,
+ "createTime": 1704343061787,
+ "createTime$": "2024-01-04 12:37:41",
+ "enableQty": 0,
+ "hostId": 1,
+ "hostId$": "涓壃鍌ㄥ瓨璁惧",
+ "id": 25,
+ "maktx": "灏奸緳澶达紙鐏扮櫧锛�5.2x50",
+ "matnr": "LSH90152050",
+ "orderId": 11,
+ "orderId$": "11",
+ "orderNo": "2024010311062542",
+ "qty": 10,
+ "specs": "17.18",
+ "status": 1,
+ "status$": "姝e父",
+ "unit": "绠�",
+ "updateBy": 9527,
+ "updateTime": 1704343061787,
+ "updateTime$": "2024-01-04 12:37:41"
+ }
+ ],
+ "order": {
+ "createBy": 9527,
+ "createTime": 1704343061787,
+ "createTime$": "2024-01-04 12:37:41",
+ "docType": 1,
+ "docType$": "閲囪喘鍏ュ簱",
+ "hostId": 1,
+ "hostId$": "涓壃鍌ㄥ瓨璁惧",
+ "id": 11,
+ "orderNo": "2024010311062542",
+ "orderTime": "2024-01-04 12:37:41",
+ "payTime$": "",
+ "sendTime$": "",
+ "settle": 4,
+ "settle$": "宸插畬鎴�",
+ "status": 1,
+ "status$": "姝e父",
+ "updateBy": 26,
+ "updateBy$": "root",
+ "updateTime": 1704697086580,
+ "updateTime$": "2024-01-08 14:58:06",
+ "uuid": "1192446758383255552"
+ },
+ "sign": "8a7036cfe218e12f50f9107e9eb4a437"
+}
+```
+
+
+#### 杩斿洖缁撴灉
+绯荤粺涓婃姤鍚庯紝璇锋眰鏂瑰繀椤婚┈涓婅繑鍥炰互涓嬬粨鏋滈泦锛屽惁鍒欒涓轰笂鎶ュけ璐ャ��
+
+鍙傛暟鍚嶇О |绫诲瀷 |鍑虹幇瑕佹眰 |鎻忚堪
+:---- |:--- |:------ |:---
+code |int |R |鍝嶅簲鐮侊紝浠g爜瀹氫箟璇疯鈥滈檮褰旳 鍝嶅簲鍚楄鏄庘��
+msg |string |R |
+
+绀轰緥锛�
+
+```
+{
+ "code":200,
+ "msg":"success",
+}
+```
+
+## 闄勫綍A 鍝嶅簲鐮佽鏄�
+
+鍝嶅簲鐮� |璇存槑
+:---- |:---
+200 |澶勭悊鎴愬姛
+500 |绯荤粺鍐呴儴閿欒
diff --git a/zy-asrs-openapi/src/main/webapp/views/md/reportCompleted.md b/zy-asrs-openapi/src/main/webapp/views/md/reportCompleted.md
new file mode 100644
index 0000000..95700ff
--- /dev/null
+++ b/zy-asrs-openapi/src/main/webapp/views/md/reportCompleted.md
@@ -0,0 +1,85 @@
+
+## 璁㈠崟瀹屾垚涓婃姤
+- **鎺ュ彛璇存槑锛�** 璁㈠崟瀹屾垚涓婃姤
+
+涓婃姤绀轰緥锛�
+
+```
+{
+ "orderDetls": [
+ {
+ "anfme": 10,
+ "barcode": "",
+ "createBy": 9527,
+ "createTime": 1704343061787,
+ "createTime$": "2024-01-04 12:37:41",
+ "enableQty": 0,
+ "hostId": 1,
+ "hostId$": "涓壃鍌ㄥ瓨璁惧",
+ "id": 25,
+ "maktx": "灏奸緳澶达紙鐏扮櫧锛�5.2x50",
+ "matnr": "LSH90152050",
+ "orderId": 11,
+ "orderId$": "11",
+ "orderNo": "2024010311062542",
+ "qty": 10,
+ "specs": "17.18",
+ "status": 1,
+ "status$": "姝e父",
+ "unit": "绠�",
+ "updateBy": 9527,
+ "updateTime": 1704343061787,
+ "updateTime$": "2024-01-04 12:37:41"
+ }
+ ],
+ "order": {
+ "createBy": 9527,
+ "createTime": 1704343061787,
+ "createTime$": "2024-01-04 12:37:41",
+ "docType": 1,
+ "docType$": "閲囪喘鍏ュ簱",
+ "hostId": 1,
+ "hostId$": "涓壃鍌ㄥ瓨璁惧",
+ "id": 11,
+ "orderNo": "2024010311062542",
+ "orderTime": "2024-01-04 12:37:41",
+ "payTime$": "",
+ "sendTime$": "",
+ "settle": 4,
+ "settle$": "宸插畬鎴�",
+ "status": 1,
+ "status$": "姝e父",
+ "updateBy": 26,
+ "updateBy$": "root",
+ "updateTime": 1704697086580,
+ "updateTime$": "2024-01-08 14:58:06",
+ "uuid": "1192446758383255552"
+ },
+ "sign": "8a7036cfe218e12f50f9107e9eb4a437"
+}
+```
+
+
+#### 杩斿洖缁撴灉
+绯荤粺涓婃姤鍚庯紝璇锋眰鏂瑰繀椤婚┈涓婅繑鍥炰互涓嬬粨鏋滈泦锛屽惁鍒欒涓轰笂鎶ュけ璐ャ��
+
+鍙傛暟鍚嶇О |绫诲瀷 |鍑虹幇瑕佹眰 |鎻忚堪
+:---- |:--- |:------ |:---
+code |int |R |鍝嶅簲鐮侊紝浠g爜瀹氫箟璇疯鈥滈檮褰旳 鍝嶅簲鍚楄鏄庘��
+msg |string |R |
+
+绀轰緥锛�
+
+```
+{
+ "code":200,
+ "msg":"success",
+}
+```
+
+## 闄勫綍A 鍝嶅簲鐮佽鏄�
+
+鍝嶅簲鐮� |璇存槑
+:---- |:---
+200 |澶勭悊鎴愬姛
+500 |绯荤粺鍐呴儴閿欒
diff --git a/zy-asrs-openapi/src/main/webapp/views/reportApiManage.html b/zy-asrs-openapi/src/main/webapp/views/reportApiManage.html
index b92c9a4..cc5d48a 100644
--- a/zy-asrs-openapi/src/main/webapp/views/reportApiManage.html
+++ b/zy-asrs-openapi/src/main/webapp/views/reportApiManage.html
@@ -17,39 +17,49 @@
<el-card class="box-card">
<el-form :inline="true" :model="tableSearchParam" class="demo-form-inline">
<el-form-item label="">
- <el-input v-model="tableSearchParam.task_no" placeholder="浠诲姟鍙�"></el-input>
+ <el-input v-model="tableSearchParam.url" placeholder="URL"></el-input>
+ </el-form-item>
+ <el-form-item label="">
+ <el-select v-model="tableSearchParam.type" placeholder="璇烽�夋嫨涓婃姤绫诲瀷">
+ <el-option label="璁㈠崟瀹屾垚" value="order_complete"></el-option>
+ <el-option label="璁㈠崟鍙栨秷" value="order_cancel"></el-option>
+ <el-option label="搴撳瓨涓婃姤" value="report_stock"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-select v-model="tableSearchParam.status" placeholder="璇烽�夋嫨鏄惁寮�鍚�">
+ <el-option label="寮�鍚�" value="1"></el-option>
+ <el-option label="鍏抽棴" value="0"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="">
+ <el-select v-model="tableSearchParam.hostId" placeholder="璇烽�夋嫨閫夋嫨浠撳簱">
+ <el-option v-for="item in hostList" :label="item.name" :value="item.id"></el-option>
+ </el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getTableData">鏌ヨ</el-button>
<el-button type="primary" @click="resetParam">閲嶇疆</el-button>
+ <el-button type="success" @click="showAddApi()">娣诲姞鎺ュ彛</el-button>
</el-form-item>
</el-form>
<el-table ref="singleTable" :data="tableData" style="width: 100%;">
- <el-table-column property="id" label="#ID">
+ <el-table-column property="url" label="URL">
</el-table-column>
- <el-table-column property="wrkNo" label="宸ヤ綔鍙�">
+ <el-table-column property="type$" label="涓婃姤绫诲瀷">
</el-table-column>
- <el-table-column property="taskNo" label="浠诲姟鍙�">
+ <el-table-column property="status$" label="鏄惁寮�鍚�">
</el-table-column>
- <el-table-column property="commandStatus$" label="鎸囦护鐘舵��">
+ <el-table-column property="hostId$" label="浠撳簱">
</el-table-column>
- <el-table-column show-overflow-tooltip property="durationTime" label="鎸佺画鏃堕暱">
- </el-table-column>
- <el-table-column property="commandType" label="鎸囦护绫诲瀷">
- </el-table-column>
- <el-table-column property="device" label="璁惧">
- </el-table-column>
- <el-table-column property="deviceLog" label="璁惧鎵ц淇℃伅">
- </el-table-column>
- <el-table-column property="commandDesc" label="鍛戒护鎻忚堪">
- </el-table-column>
- <el-table-column show-overflow-tooltip property="startTime$" label="寮�濮嬫椂闂�">
- </el-table-column>
- <el-table-column show-overflow-tooltip property="executeTime$" label="鎵ц鏃堕棿">
- </el-table-column>
- <el-table-column show-overflow-tooltip property="completeTime$" label="瀹屾垚鏃堕棿">
- </el-table-column>
- <el-table-column show-overflow-tooltip property="command" label="鍛戒护鎶ユ枃" width="250">
+ <el-table-column
+ fixed="right"
+ label="鎿嶄綔"
+ width="100">
+ <template slot-scope="scope">
+ <el-button @click="showAddApi(scope.row)" type="text" size="small">缂栬緫</el-button>
+ <el-button @click="deleteApi(scope.row)" type="text" size="small">鍒犻櫎</el-button>
+ </template>
</el-table-column>
</el-table>
@@ -62,13 +72,53 @@
</el-card>
</div>
- <div style="position: fixed;top: 20px;right: 20px;width: 150px;border-left: 3px solid #f0f0f0;padding-left: 15px;">
+ <div class="slider">
<div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
+ <el-divider></el-divider>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
<div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
+ <el-divider></el-divider>
+ <div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
+ <div><el-button type="text" @click="switchPage('getOrderStatus.html')">鑾峰彇璁㈠崟鐘舵�佸垪琛�</el-button></div>
+ <div><el-button type="text" @click="switchPage('getOrderList.html')">鑾峰彇璁㈠崟鍒楄〃</el-button></div>
+ <div><el-button type="text" @click="switchPage('generateOrderPakIn.html')">鐢熸垚鍏ュ簱璁㈠崟</el-button></div>
+ <div><el-button type="text" @click="switchPage('generateOrderPakOut.html')">鐢熸垚鍑哄簱璁㈠崟</el-button></div>
+ <div><el-button type="text" @click="switchPage('createMat.html')">娣诲姞鐗╂枡淇℃伅</el-button></div>
+ <el-divider></el-divider>
+ <div><el-button type="text" @click="keyList()">瀵嗛挜绠$悊</el-button></div>
</div>
+
+ <el-dialog title="鎺ュ彛绠$悊" :visible.sync="formVisible">
+ <el-form ref="form" :model="formData" label-width="80px">
+ <el-form-item label="URL">
+ <el-input v-model="formData.url" placeholder="璇疯緭鍏ヤ笂鎶RL"></el-input>
+ </el-form-item>
+ <el-form-item label="涓婃姤绫诲瀷">
+ <el-select v-model="formData.type" placeholder="璇烽�夋嫨涓婃姤绫诲瀷">
+ <el-option label="璁㈠崟瀹屾垚" value="order_complete"></el-option>
+ <el-option label="璁㈠崟鍙栨秷" value="order_cancel"></el-option>
+ <el-option label="搴撳瓨涓婃姤" value="report_stock"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鏄惁寮�鍚�">
+ <el-select v-model="formData.status" placeholder="璇烽�夋嫨鏄惁寮�鍚�">
+ <el-option label="寮�鍚�" value="1"></el-option>
+ <el-option label="鍏抽棴" value="0"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="閫夋嫨浠撳簱">
+ <el-select v-model="formData.hostId" placeholder="璇烽�夋嫨閫夋嫨浠撳簱">
+ <el-option v-for="item in hostList" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button v-if="formData.id == null" type="success" @click="addApi()">娣诲姞</el-button>
+ <el-button v-else type="primary" @click="updateApi()">鏇存柊</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
</div>
<script>
@@ -81,8 +131,21 @@
pageSize: 16,
pageTotal: 0,
tableSearchParam: {
- task_no: null,
+ url: "",
+ type: "",
+ status: "",
+ hostId: ""
},
+ tableData: [],
+ formVisible: false,
+ formData: {
+ id: null,
+ url: "",
+ type: "",
+ status: "",
+ hostId: ""
+ },
+ hostList: []
},
created() {
this.init()
@@ -90,6 +153,7 @@
methods: {
init() {
this.getTableData()
+ this.getHostList()
},
getTableData() {
let that = this;
@@ -97,7 +161,7 @@
data.curr = this.currentPage
data.limit = this.pageSize
$.ajax({
- url: baseUrl + "/commandInfoLog/list/auth",
+ url: baseUrl + "/apiList/page/auth",
headers: {
'token': localStorage.getItem('token')
},
@@ -138,6 +202,154 @@
},
switchPage(url) {
location.href = url
+ },
+ showAddApi(data) {
+ this.formVisible = true;
+ if (data != null) {
+ this.formData = {
+ id: data.id,
+ url: data.url,
+ type: data.type,
+ status: "" + data.status,
+ hostId: data.hostId
+ }
+ }else {
+ this.formData = {
+ id: null,
+ url: "",
+ type: "",
+ status: "",
+ hostId: ""
+ }
+ }
+ },
+ addApi() {
+ let that = this;
+ if(this.formData.url == '' || this.formData.type == '' || this.formData.status == '' || this.formData.hostId == ''){
+ this.$message({
+ message: '鍙傛暟涓嶈兘涓虹┖',
+ type: 'error'
+ });
+ return;
+ }
+ $.ajax({
+ url: baseUrl + "/apiList/add/auth",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: this.formData,
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'GET',
+ success: function(res) {
+ if (res.code == 200) {
+ that.formVisible = false;
+ that.formData = {
+ id: null,
+ url: "",
+ type: "",
+ status: "",
+ hostId: ""
+ }
+ that.getTableData()
+ that.$message({
+ message: '娣诲姞鎴愬姛',
+ type: 'success'
+ });
+ }else {
+ that.$message({
+ message: res.msg,
+ type: 'error'
+ });
+ }
+ }
+ });
+ },
+ updateApi() {
+ let that = this;
+ if(this.formData.id == null || this.formData.url == '' || this.formData.type == '' || this.formData.status == '' || this.formData.hostId == ''){
+ this.$message({
+ message: '鍙傛暟涓嶈兘涓虹┖',
+ type: 'error'
+ });
+ return;
+ }
+ $.ajax({
+ url: baseUrl + "/apiList/update/auth",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: this.formData,
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'GET',
+ success: function(res) {
+ if (res.code == 200) {
+ that.formVisible = false;
+ that.formData = {
+ id: null,
+ url: "",
+ type: "",
+ status: "",
+ hostId: ""
+ }
+ that.getTableData()
+ that.$message({
+ message: '鏇存柊鎴愬姛',
+ type: 'success'
+ });
+ }else {
+ that.$message({
+ message: res.msg,
+ type: 'error'
+ });
+ }
+ }
+ });
+ },
+ deleteApi(data) {
+ let that = this;
+ $.ajax({
+ url: baseUrl + "/apiList/delete/auth",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: {
+ ids: [data.id]
+ },
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'GET',
+ success: function(res) {
+ if (res.code == 200) {
+ that.getTableData()
+ that.$message({
+ message: '鍒犻櫎鎴愬姛',
+ type: 'success'
+ });
+ }else {
+ that.$message({
+ message: res.msg,
+ type: 'error'
+ });
+ }
+ }
+ });
+ },
+ getHostList() {
+ let that = this;
+ $.ajax({
+ url: baseUrl + "/host/list",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'GET',
+ success: function(res) {
+ that.hostList = res.data
+ }
+ });
}
}
})
diff --git a/zy-asrs-openapi/src/main/webapp/views/reportCancel.html b/zy-asrs-openapi/src/main/webapp/views/reportCancel.html
new file mode 100644
index 0000000..f37a1a3
--- /dev/null
+++ b/zy-asrs-openapi/src/main/webapp/views/reportCancel.html
@@ -0,0 +1,223 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <title>API寮�鏀惧钩鍙�</title>
+ <link rel="stylesheet" href="../static/css/element.css">
+ <link rel="stylesheet" href="../static/css/common.css">
+ <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+ <script type="text/javascript" src="../static/js/vue.min.js"></script>
+ <script type="text/javascript" src="../static/js/showdown.min.js"></script>
+ <script type="text/javascript" src="../static/js/common.js"></script>
+ <script type="text/javascript" src="../static/js/element.js"></script>
+</head>
+<body>
+ <div id="app">
+ <div id="content"></div>
+ <div class="slider">
+ <div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
+ <el-divider></el-divider>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
+ <el-divider></el-divider>
+ <div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
+ <div><el-button type="text" @click="switchPage('getOrderStatus.html')">鑾峰彇璁㈠崟鐘舵�佸垪琛�</el-button></div>
+ <div><el-button type="text" @click="switchPage('getOrderList.html')">鑾峰彇璁㈠崟鍒楄〃</el-button></div>
+ <div><el-button type="text" @click="switchPage('generateOrderPakIn.html')">鐢熸垚鍏ュ簱璁㈠崟</el-button></div>
+ <div><el-button type="text" @click="switchPage('generateOrderPakOut.html')">鐢熸垚鍑哄簱璁㈠崟</el-button></div>
+ <div><el-button type="text" @click="switchPage('createMat.html')">娣诲姞鐗╂枡淇℃伅</el-button></div>
+ <el-divider></el-divider>
+ <div><el-button type="text" @click="keyList()">瀵嗛挜绠$悊</el-button></div>
+ </div>
+
+ <el-dialog title="瀵嗛挜绠$悊" :visible.sync="keyTableVisible">
+ <el-table :data="keyTableData" v-loading="loading">
+ <el-table-column property="hostId$" label="浠撳簱"></el-table-column>
+ <el-table-column property="signKey" label="绛惧悕瀵嗛挜" width="150"></el-table-column>
+ <el-table-column property="appKey" label="鎺ュ彛璇锋眰瀵嗛挜" width="250"></el-table-column>
+ <el-table-column property="createTime$" label="鏃堕棿" width="200"></el-table-column>
+ <el-table-column label="鎿嶄綔" width="400">
+ <template slot-scope="scope">
+ <el-button size="mini" @click="generateSignKey(scope.row.hostId)">绛惧悕瀵嗛挜</el-button>
+ <el-button size="mini" @click="generateAppKey(scope.row.hostId)">鎺ュ彛瀵嗛挜</el-button>
+ <el-switch
+ v-model="scope.row.signStatus"
+ @change="switchChange(scope.row.hostId,scope.row.signStatus)"
+ active-text="寮�鍚鍚�"
+ inactive-text="鍏抽棴绛惧悕">
+ </el-switch>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-dialog>
+ </div>
+
+ <script>
+ showdown.setOption('tables', true);
+ var converter = new showdown.Converter()
+
+ var app = new Vue({
+ el: '#app',
+ data: {
+ keyTableVisible: false,
+ keyTableData: [],
+ loading: true
+ },
+ created() {
+ this.init()
+ },
+ methods: {
+ init() {
+ this.introduceClick()
+ },
+ introduceClick() {
+ $.ajax({
+ url: "md/reportCancel.md",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'GET',
+ success: function (res) {
+ // $("#content").html(marked.parse(res))
+ // console.log(converter.makeHtml(res))
+ $("#content").html(converter.makeHtml(res))
+ }
+ });
+ },
+ keyList() {
+ let that = this
+ this.keyTableVisible = true
+ $.ajax({
+ url: baseUrl + "/hostKey/list/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {},
+ dataType:'json',
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ let tmp = []
+ res.data.forEach((item, index) => {
+ item.signStatus = item.signStatus == 1 ? true : false;
+ tmp.push(item)
+ });
+ that.keyTableData = tmp
+ that.loading = false
+ }
+ });
+ },
+ generateSignKey(hostId) {
+ let that = this
+ this.$confirm('姝ゆ搷浣滃皢瑕嗙洊鍘熺鍚嶅瘑閽�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ $.ajax({
+ url: baseUrl + "/hostKey/generateSignKey/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ hostId: hostId
+ },
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'GET',
+ success: function (res) {
+ if (res.code === 200) {
+ that.$message({
+ type: 'success',
+ message: '鐢熸垚鎴愬姛'
+ });
+
+ that.keyTableData.forEach((item, index) => {
+ if (item.hostId == hostId) {
+ item.signKey = res.data.signKey
+ }
+ });
+ } else {
+ that.$message({
+ type: 'error',
+ message: res.msg
+ });
+ }
+ }
+ });
+ }).catch(() => {
+ //鍙栨秷
+ });
+ },
+ generateAppKey(hostId) {
+ let that = this
+ this.$confirm('姝ゆ搷浣滃皢瑕嗙洊鍘熸帴鍙e瘑閽�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ $.ajax({
+ url: baseUrl + "/hostKey/generateAppKey/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ hostId: hostId
+ },
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'GET',
+ success: function (res) {
+ if (res.code === 200) {
+ that.$message({
+ type: 'success',
+ message: '鐢熸垚鎴愬姛'
+ });
+
+ that.keyTableData.forEach((item, index) => {
+ if (item.hostId == hostId) {
+ item.appKey = res.data.appKey
+ }
+ });
+ } else {
+ that.$message({
+ type: 'error',
+ message: res.msg
+ });
+ }
+ }
+ });
+ }).catch(() => {
+ //鍙栨秷
+ });
+ },
+ switchChange(hostId, signStatus) {
+ let that = this
+ //绛惧悕鏍¢獙寮�鍏�
+ $.ajax({
+ url: baseUrl + "/hostKey/switchSign/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ hostId: hostId,
+ signStatus: signStatus ? 1 : 0,
+ },
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'GET',
+ success: function (res) {
+ if (res.code === 200) {
+ that.$message({
+ type: 'success',
+ message: '鍒囨崲鎴愬姛'
+ });
+ } else {
+ that.$message({
+ type: 'error',
+ message: res.msg
+ });
+ }
+ }
+ });
+ },
+ switchPage(url) {
+ location.href = url
+ }
+ }
+ })
+ </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zy-asrs-openapi/src/main/webapp/views/reportCompleted.html b/zy-asrs-openapi/src/main/webapp/views/reportCompleted.html
index abd61bf..07a4dc6 100644
--- a/zy-asrs-openapi/src/main/webapp/views/reportCompleted.html
+++ b/zy-asrs-openapi/src/main/webapp/views/reportCompleted.html
@@ -14,17 +14,22 @@
<body>
<div id="app">
<div id="content"></div>
- <div style="position: fixed;top: 20px;right: 20px;width: 100px;">
- <div style="position: fixed;top: 20px;right: 20px;width: 150px;border-left: 3px solid #f0f0f0;padding-left: 15px;">
- <div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟瀹屾垚涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">浠诲姟鍙栨秷涓婃姤</el-button></div>
- <div><el-button type="text" @click="switchPage('reportCompleted.html')">搴撳瓨涓婃姤</el-button></div>
- <div><el-button type="text" @click="reportApiManage()">涓婃姤鎺ュ彛绠$悊</el-button></div>
-
-
- <div><el-button type="text" @click="keyList()">瀵嗛挜绠$悊</el-button></div>
- </div>
+ <div class="slider">
+ <div><el-button type="text" @click="switchPage('index.html')">瑙勮寖璇存槑</el-button></div>
+ <el-divider></el-divider>
+ <div><el-button type="text" @click="switchPage('reportCompleted.html')">璁㈠崟瀹屾垚涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportCancel.html')">璁㈠崟鍙栨秷涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportStock.html')">搴撳瓨涓婃姤</el-button></div>
+ <div><el-button type="text" @click="switchPage('reportApiManage.html')">涓婃姤API绠$悊</el-button></div>
+ <el-divider></el-divider>
+ <div><el-button type="text" @click="switchPage('getOrderType.html')">鑾峰彇璁㈠崟绫诲瀷</el-button></div>
+ <div><el-button type="text" @click="switchPage('getOrderStatus.html')">鑾峰彇璁㈠崟鐘舵�佸垪琛�</el-button></div>
+ <div><el-button type="text" @click="switchPage('getOrderList.html')">鑾峰彇璁㈠崟鍒楄〃</el-button></div>
+ <div><el-button type="text" @click="switchPage('generateOrderPakIn.html')">鐢熸垚鍏ュ簱璁㈠崟</el-button></div>
+ <div><el-button type="text" @click="switchPage('generateOrderPakOut.html')">鐢熸垚鍑哄簱璁㈠崟</el-button></div>
+ <div><el-button type="text" @click="switchPage('createMat.html')">娣诲姞鐗╂枡淇℃伅</el-button></div>
+ <el-divider></el-divider>
+ <div><el-button type="text" @click="keyList()">瀵嗛挜绠$悊</el-button></div>
</div>
<el-dialog title="瀵嗛挜绠$悊" :visible.sync="keyTableVisible">
@@ -69,7 +74,7 @@
},
introduceClick() {
$.ajax({
- url: "md/introduce.md",
+ url: "md/reportCompleted.md",
headers: {'token': localStorage.getItem('token')},
method: 'GET',
success: function (res) {
--
Gitblit v1.9.1