From 163bdd3a71de83b9e36340be3fe6380b6758e4fd Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 14 三月 2023 11:05:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/stasrs' into stasrs
---
src/main/java/com/zy/asrs/task/ErpAccessTokenScheduler.java | 25 +++++
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | 2
src/main/java/com/zy/asrs/service/LocDetlService.java | 2
src/main/java/com/zy/asrs/controller/OpenController.java | 4
src/main/resources/mapper/LocDetlMapper.xml | 8 +
src/main/java/com/zy/asrs/task/handler/ErpAccessTokenHandler.java | 89 +++++++++++++++++
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 6
src/main/java/com/zy/asrs/task/handler/OrderSendHandler.java | 88 +++++++++++++++++
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 4
src/main/java/com/zy/asrs/task/OrderSendScheduler.java | 33 ++++++
src/main/java/com/zy/asrs/service/OpenService.java | 2
src/main/resources/application.yml | 4
12 files changed, 256 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 8f2e27c..54ae25a 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -6,6 +6,7 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.param.*;
+import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.service.OpenService;
import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
@@ -105,9 +106,10 @@
*/
@RequestMapping("/stock/default/v1")
public R queryStock(@RequestHeader(required = false) String appkey,
+ @RequestBody StockVo stockVo,
HttpServletRequest request) {
auth(appkey, null, request);
- return R.ok().add(openService.queryStock());
+ return R.ok().add(openService.queryStock(stockVo));
}
private void auth(String appkey, Object obj, HttpServletRequest request) {
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index c33ab13..6238035 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -58,7 +58,7 @@
Double queryStockAnfme(String matnr, String batch);
- List<StockVo> queryStockTotal();
+ List<StockVo> queryStockTotal(@Param("matnr")String matnr,@Param("batch")String batch);
Integer sum();
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 0023ecf..5bf12ab 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -47,7 +47,7 @@
Double queryStockAnfme(String matnr, String batch);
- List<StockVo> queryStockTotal();
+ List<StockVo> queryStockTotal(StockVo stockVo);
Integer sum();
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index bd22c5e..be4655c 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -32,7 +32,7 @@
/**
* 搴撳瓨缁熻
*/
- List<StockVo> queryStock();
+ List<StockVo> queryStock(StockVo stockVo);
// ------------------------------------------
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 44bdd07..8cc6a1f 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -87,8 +87,10 @@
}
@Override
- public List<StockVo> queryStockTotal() {
- return this.baseMapper.queryStockTotal();
+ public List<StockVo> queryStockTotal(StockVo stockVo) {
+ String matnr=stockVo.getMatnr();
+ String batch=stockVo.getBatch();
+ return this.baseMapper.queryStockTotal(matnr,batch);
}
/**
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 7c0de39..eb62cae 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -335,8 +335,8 @@
@Override
@Transactional
- public List<StockVo> queryStock() {
- return locDetlService.queryStockTotal();
+ public List<StockVo> queryStock(StockVo stockVo) {
+ return locDetlService.queryStockTotal(stockVo);
}
@Override
diff --git a/src/main/java/com/zy/asrs/task/ErpAccessTokenScheduler.java b/src/main/java/com/zy/asrs/task/ErpAccessTokenScheduler.java
new file mode 100644
index 0000000..5c62adf
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/ErpAccessTokenScheduler.java
@@ -0,0 +1,25 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.handler.ErpAccessTokenHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+@Component
+public class ErpAccessTokenScheduler {
+
+ public static String accessToken = "";
+
+ @Autowired
+ private ErpAccessTokenHandler erpAccessTokenHandler;
+
+
+
+ @PostConstruct
+ @Scheduled(cron = "10 15,30,45,59 * * * ?")
+ private void accessToken(){
+ erpAccessTokenHandler.getAccessToken();
+ }
+}
diff --git a/src/main/java/com/zy/asrs/task/OrderSendScheduler.java b/src/main/java/com/zy/asrs/task/OrderSendScheduler.java
new file mode 100644
index 0000000..673f885
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/OrderSendScheduler.java
@@ -0,0 +1,33 @@
+package com.zy.asrs.task;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.service.OrderService;
+import com.zy.asrs.task.handler.OrderSendHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public class OrderSendScheduler {
+
+ @Autowired
+ private OrderService orderService;
+
+ @Autowired
+ private OrderSendHandler orderSendHandler;
+
+
+
+ @Scheduled(cron = "0/3 * * * * ? ")
+ private void looping(){
+ List<Order> orders = orderService.selectList(new EntityWrapper<Order>()
+ .eq("settle", "4")
+ .le("item_id", 3));
+ for (Order order : orders) {
+ orderSendHandler.start(order);
+ }
+ }
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/ErpAccessTokenHandler.java b/src/main/java/com/zy/asrs/task/handler/ErpAccessTokenHandler.java
new file mode 100644
index 0000000..185e247
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/ErpAccessTokenHandler.java
@@ -0,0 +1,89 @@
+package com.zy.asrs.task.handler;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.exception.CoolException;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.ErpAccessTokenScheduler;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+
+@Service
+@Slf4j
+public class ErpAccessTokenHandler extends AbstractHandler<String> {
+ private String erpIp = "http://10.100.221.19:81";
+
+
+ public void getAccessToken() {
+ JSONObject appTokenJson = new JSONObject();
+ appTokenJson.put("appId", "ESB");
+ appTokenJson.put("appSecuret", "123456789");
+ appTokenJson.put("tenantid", "ierp");
+ appTokenJson.put("accountId", "1492035591649364992");
+ appTokenJson.put("language", "zh_CN");
+
+ JSONObject appTokenResp;
+
+ //鑾峰彇app_token锛岀敤app_token鑾峰彇access_token
+ try {
+ appTokenResp = JSON.parseObject(new HttpHandler.Builder()
+ .setUri(erpIp)
+ .setPath("/ierp/api/getAppToken.do")
+ .setJson(appTokenJson.toJSONString())
+ .build()
+ .doPost());
+ } catch (IOException e) {
+ log.info("杩炴帴erp鏈嶅姟鍣ㄨ秴鏃�");
+ return;
+ }
+ JSONObject data = null;
+ try {
+ data = (JSONObject) appTokenResp.get("data");
+
+ } catch (Exception e) {
+ System.out.println("鑾峰彇appToken涓虹┖");
+ throw new CoolException(e);
+ }
+
+ //鑾峰彇access_token
+ if ((boolean) data.get("success")) {
+ JSONObject accessTokenJson = new JSONObject();
+ accessTokenJson.put("user", "13800000000");
+ accessTokenJson.put("apptoken", (String) data.get("app_token"));
+ accessTokenJson.put("tenantid", "ierp");
+ accessTokenJson.put("accountId", "1492035591649364992");
+ accessTokenJson.put("usertype", "Mobile");
+
+ JSONObject accessTokenResp;
+ //鑾峰彇app_token锛岀敤app_token鑾峰彇access_token
+ try {
+ accessTokenResp = JSON.parseObject(new HttpHandler.Builder()
+ .setUri(erpIp)
+ .setPath("/ierp/api/login.do")
+ .setJson(accessTokenJson.toJSONString())
+ .build()
+ .doPost());
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ JSONObject accessTokenData = null;
+ try {
+ accessTokenData = (JSONObject) accessTokenResp.get("data");
+ } catch (Exception e) {
+ System.out.println("鑾峰彇accessToken涓虹┖");
+ throw new CoolException(e);
+ }
+
+ if ((boolean) accessTokenData.get("success")) {
+ ErpAccessTokenScheduler.accessToken = (String) accessTokenData.get("access_token");
+ log.info("鏇存柊access_token, 鏂皌oken涓�:" + (String) accessTokenData.get("access_token"));
+ }
+
+ }
+
+
+ }
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSendHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSendHandler.java
new file mode 100644
index 0000000..3c86c42
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSendHandler.java
@@ -0,0 +1,88 @@
+package com.zy.asrs.task.handler;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.DocType;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.service.DocTypeService;
+import com.zy.asrs.service.OrderService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.ErpAccessTokenScheduler;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+@Slf4j
+@Service
+@Transactional
+public class OrderSendHandler extends AbstractHandler<String> {
+ private static final String erpIp = "10.100.221.19:81";
+ private static final String inPath = "/ierp/kapi/app/im/PurinbillApiPlugin";
+ private static final String outPath = "/ierp/kapi/app/im/SaloutbillApiPlugin";
+
+
+
+
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private DocTypeService docTypeService;
+
+ public void start(Order order) {
+ String accessToken = ErpAccessTokenScheduler.accessToken;
+ if (accessToken.equals("")) {
+ return;
+ }
+
+ HashMap<String, Object> header = new HashMap<>();
+ header.put("accessToken",accessToken);
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("orderNo",order.getOrderNo());
+ HttpHandler.Builder prepBuilder = new HttpHandler.Builder()
+ .setUri(erpIp)
+ .setHeaders(header)
+ .setJson(jsonObject.toJSONString());
+ JSONObject respJson;
+
+
+ //鍏ュ簱鍗曟嵁
+ if (docTypeService.selectOne(new EntityWrapper<DocType>()
+ .eq("doc_id",order.getDocType())).getPakin() == 1) {
+ try {
+ respJson = JSON.parseObject(
+ prepBuilder.setPath(inPath)
+ .build()
+ .doPost());
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }else {
+ //鍑哄簱鍗曟嵁
+ try {
+ respJson = JSON.parseObject(
+ prepBuilder.setPath(outPath)
+ .build()
+ .doPost());
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ if ((boolean)respJson.get("success")) {
+ orderService.updateSettle(order.getId(),6L,1L);
+ log.info("鍗曟嵁:" + order.getOrderNo() + "鍥炰紶鎴愬姛锛屽凡鏇存柊鍗曟嵁鐘舵��");
+ }else {
+
+ order.setItemId(order.getItemId() + 1);
+ orderService.updateById(order);
+ log.info("鍗曟嵁:"+ order.getOrderNo()+" 鍥炰紶澶辫触锛岃繖鏄" + order.getItemId() + "娆″洖浼�");
+ log.info(respJson.toJSONString());
+ }
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index d704656..0f0267c 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,8 +10,8 @@
enabled: false
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# url: jdbc:sqlserver://10.10.10.100:1433;databasename=stasrs
- url: jdbc:sqlserver://192.168.4.15:1433;databasename=stasrs
+ url: jdbc:sqlserver://10.10.10.100:1433;databasename=stasrs
+# url: jdbc:sqlserver://192.168.4.15:1433;databasename=stasrs
username: sa
password: sa@123
mvc:
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index b188922..81c8ca0 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -295,9 +295,15 @@
select
matnr,
batch,
- count(anfme) as count
+ sum(anfme) as count
from asr_loc_detl
where 1=1
+ <if test="batch != null and batch != ''">
+ and batch = #{batch}
+ </if>
+ <if test="matnr != null and matnr != ''">
+ and matnr = #{matnr}
+ </if>
group by matnr,batch
</select>
<select id="sum" resultType="java.lang.Integer">
--
Gitblit v1.9.1