From e400c6f84ad6e777ae32597d01eb2d0fd79f5e56 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期四, 21 十一月 2024 15:58:17 +0800
Subject: [PATCH] 完善
---
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java | 144 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 140 insertions(+), 4 deletions(-)
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 2acaaac..8da98f7 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
@@ -5,10 +5,12 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.openapi.entity.HostKey;
import com.zy.asrs.common.openapi.entity.dto.OrderListDto;
-import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakInParam;
-import com.zy.asrs.common.openapi.entity.param.OrderListParam;
+import com.zy.asrs.common.openapi.entity.param.*;
import com.zy.asrs.common.openapi.service.ApiService;
import com.zy.asrs.common.openapi.service.HostKeyService;
+import com.zy.asrs.common.sys.entity.OperateLog;
+import com.zy.asrs.common.sys.service.OperateLogService;
+import com.zy.asrs.common.utils.Utils;
import com.zy.asrs.common.web.BaseController;
import com.zy.asrs.common.wms.entity.DocType;
import com.zy.asrs.common.wms.entity.OrderSettle;
@@ -16,12 +18,17 @@
import com.zy.asrs.framework.common.BaseRes;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.openapi.param.MatParam;
+import com.zy.asrs.openapi.param.OrderParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -34,6 +41,11 @@
private HostKeyService hostKeyService;
@Autowired
private ApiService apiService;
+
+ @PostMapping("/test")
+ public R test() {
+ return R.ok();
+ }
/**
* 鐢熸垚鍏ュ簱璁㈠崟
@@ -52,11 +64,36 @@
if (Cools.isEmpty(param.getOrderType())) {
return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
}
- if (Cools.isEmpty(param.getOrderDetails())) {
- return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
+ if (Cools.isEmpty(param.getMats())) {
+ return R.error("鐗╂枡[mats]涓嶈兘涓虹┖");
}
param.setHostId(hostKey.getHostId());
apiService.generateOrderPakIn(param);
+ return R.ok();
+ }
+
+ /**
+ * 鐢熸垚鍑哄簱璁㈠崟
+ */
+ @PostMapping("generateOrderPakOut")
+ @AppAuth(memo = "鐢熸垚鍑哄簱璁㈠崟")
+ public synchronized R generateOrderPakOut(@RequestHeader(required = false) String appkey,
+ @RequestBody GenerateOrderPakOutParam param) {
+ HostKey hostKey = auth(appkey, param, true);
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ if (Cools.isEmpty(param.getOrderNo())) {
+ return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖");
+ }
+ if (Cools.isEmpty(param.getOrderType())) {
+ return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
+ }
+ if (Cools.isEmpty(param.getMats())) {
+ return R.error("鐗╂枡[mats]涓嶈兘涓虹┖");
+ }
+ param.setHostId(hostKey.getHostId());
+ apiService.generateOrderPakOut(param);
return R.ok();
}
@@ -91,6 +128,18 @@
return R.ok().add(orderList);
}
+ /**
+ * 鍒涘缓鐗╂枡淇℃伅
+ */
+ @PostMapping("/createMat")
+ public synchronized R createMat(@RequestHeader(required = true) String appkey,
+ @RequestBody(required = false) CreateMatParam param) {
+ HostKey hostKey = auth(appkey, param, true);
+ param.setHostId(hostKey.getHostId());
+ int result = apiService.createMat(param);
+ return R.ok().add(result);
+ }
+
private HostKey auth(String appkey, Object obj, boolean signCheck) {
request.setAttribute("cache", obj);
if (Cools.isEmpty(appkey)) {
@@ -122,4 +171,91 @@
return hostKey;
}
+ @PostMapping("order/execute/auth/v1")
+ public R wms1(@RequestBody Map<String, Object> map) {
+ try {
+// System.out.println(map.toString());
+ log.info("order/execute/auth/v1锛�" + JSON.toJSONString(map));
+ OrderParam orderParam = JSON.parseObject(JSON.toJSONString(map), OrderParam.class);
+
+ OperateLogService operateLogService = SpringUtils.getBean(OperateLogService.class);
+ //璁板綍涓婃姤鏁版嵁
+ OperateLog operateLog = new OperateLog();
+ operateLog.setAction("ERP鎺ㄩ�佽鍗�");
+ operateLog.setRequest(orderParam.toString());
+ operateLog.setResponse("");
+ operateLog.setCreateTime(new Date());
+ operateLog.setSystem("WMS");
+ operateLog.setUserId(9527L);
+ operateLog.setIp("127.0.0.1");
+ operateLogService.save(operateLog);
+
+ List<DocType> list = apiService.getOrderType();
+ DocType type = null;
+ for (DocType docType : list) {
+ if (docType.getDocName().equals(orderParam.getOrderType())) {
+ type = docType;
+ break;
+ }
+ }
+ if (type == null) {
+ return R.error("鍗曟嵁绫诲瀷涓嶅瓨鍦�");
+ }
+
+ ArrayList<GenerateOrderMatParam> mats = new ArrayList<>();
+ String matnr=null;
+ for (MatParam matParam : orderParam.getList()) {
+ GenerateOrderMatParam mat = new GenerateOrderMatParam();
+ mat.setMatnr(matParam.getMatnr());
+ mat.setBatch(matParam.getBatch());
+ mat.setAnfme(matParam.getCount());
+ mat.setUnit(matParam.getUnit());
+ mat.setWarehouse(matParam.getWarehouse());
+ mat.setOrigin(matParam.getOrigin());
+ mat.setOriginNo(matParam.getOriginNo());
+ if(Cools.isEmpty(mats)){
+ mats.add(mat);
+ }else{
+ boolean boo=true;
+ for (GenerateOrderMatParam m:mats
+ ) {
+ if(m.getMatnr().equals(matParam.getMatnr())){
+ m.setAnfme(m.getAnfme()+mat.getAnfme());
+ boo=false;
+ break;
+ }
+ }
+ if(boo){
+ mats.add(mat);
+ }
+ }
+ }
+
+ if (orderParam.getInOut() == 1) {
+ //鍏ュ簱
+ GenerateOrderPakInParam param = new GenerateOrderPakInParam();
+ param.setHostId(1L);
+ param.setOrderType(type.getDocId().intValue());
+ param.setOrderNo(orderParam.getOrderNo());
+ param.setMats(mats);
+ apiService.generateOrderPakIn(param);
+ } else if (orderParam.getInOut() == 2) {
+ //鍑哄簱
+ GenerateOrderPakOutParam param = new GenerateOrderPakOutParam();
+ param.setHostId(1L);
+ param.setOrderType(type.getDocId().intValue());
+ param.setOrderNo(orderParam.getOrderNo());
+ param.setMats(mats);
+ apiService.generateOrderPakOut(param);
+ } else {
+ //鍏朵粬
+ return R.error("鍑哄叆搴撶被鍨嬮敊璇�");
+ }
+
+ return R.ok();
+ } catch (Exception e) {
+ return R.error(e.getMessage());
+ }
+ }
+
}
--
Gitblit v1.9.1