From 4072a7775f72a186b0f4b6e48cdef40b3c2d7f5a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 23 四月 2022 09:43:14 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 68 +++++++++++++++++++++++++++++++++-
1 files changed, 66 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 908cc26..6e8e66e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1,5 +1,7 @@
package com.zy.asrs.service.impl;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.BaseRes;
import com.core.common.Cools;
@@ -11,8 +13,11 @@
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.service.*;
+import com.zy.common.constant.MesConstant;
import com.zy.common.entity.Parameter;
import com.zy.common.model.DetlDto;
+import com.zy.common.model.MesCombParam;
+import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -51,6 +56,8 @@
private OpenService openService;
@Autowired
private SnowflakeIdWorker snowflakeIdWorker;
+ @Autowired
+ private ApiLogService apiLogService;
@Override
@Transactional
@@ -236,6 +243,7 @@
}
@Override
+ @Transactional
public void packComb(CombParam param, Long userId) {
if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
throw new CoolException(BaseRes.PARAM);
@@ -276,7 +284,50 @@
});
if (packDown) {
- // 鏁版嵁涓婃姤 todo
+ MesCombParam mesCombParam = new MesCombParam();
+ mesCombParam.setZpallet(param.getBarcode());
+ mesCombParam.setCombTime(DateUtils.convert(now));
+ mesCombParam.setLgort("5008");
+ for (DetlDto detlDto : detlDtos) {
+ mesCombParam.getList().add(new MesCombParam.Detl(detlDto.getMatnr(), detlDto.getAnfme()));
+ }
+ String response = "";
+ boolean success = false;
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(MesConstant.URL)
+ .setPath(MesConstant.PACK_DOWN_URL)
+ .setJson(JSON.toJSONString(mesCombParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ success = true;
+ } else if (jsonObject.getInteger("code").equals(500)) {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
+ throw new CoolException(jsonObject.getString("msg"));
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
+ throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+ }
+ } catch (Exception e) {
+ log.error("fail", e);
+ throw new CoolException(e.getMessage());
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "鎵撳寘涓嬬嚎甯墭涓婃姤",
+ MesConstant.URL + MesConstant.PACK_DOWN_URL,
+ null,
+ "127.0.0.1",
+ JSON.toJSONString(mesCombParam),
+ response,
+ success
+ );
+ } catch (Exception e) { log.error("", e); }
+ }
+
}
// 鐢熸垚鍏ュ簱鍗曟嵁
@@ -291,12 +342,25 @@
if (null == order) {
throw new CoolException("鐢熸垚鍗曟嵁澶辫触");
}
- if (orderService.updateSettle(order.getId(), 2L, userId)) {
+ if (!orderService.updateSettle(order.getId(), 2L, userId)) {
throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�");
}
// 鐢熸垚鍏ュ簱閫氱煡妗�
for (DetlDto detlDto : detlDtos) {
+
+ // 淇敼浣滀笟鏁伴噺 ----------------------------------------
+ // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch());
+ if (detlDto.getAnfme() > orderDetl.getEnableQty()) {
+ throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
+ }
+ // 淇敼璁㈠崟鏄庣粏鏁伴噺
+ if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
+ throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
+ }
+
+ // 淇濆瓨鍏ュ簱閫氱煡妗�
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
if (Cools.isEmpty(mat)) {
throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
--
Gitblit v1.9.1