From ced2fc10af63b23402352f675f8b1e3c241c42ab Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 10 十一月 2025 11:16:27 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java | 196 ++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 185 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java b/src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java
index a3b94c5..4ededa4 100644
--- a/src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java
@@ -1,18 +1,30 @@
package com.zy.asrs.task.handler;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.common.R;
+import com.core.common.SnowflakeIdWorker;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.entity.OrderPakout;
-import com.zy.asrs.service.OrderDetlPakoutService;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderPakoutService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.entity.param.OrderCargoBookingNoteParam;
+import com.zy.asrs.entity.param.OrderInspectionRollParam;
+import com.zy.asrs.entity.param.OrderOutLocBoxCsUtilParam;
+import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.CodeDetectionUtil;
+import com.zy.asrs.utils.OrderOutBatchUtil;
+import com.zy.common.constant.MesConstant;
+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.util.ArrayList;
+import java.util.Date;
import java.util.List;
/**
@@ -23,26 +35,188 @@
@Service
public class GroupOrderFormHandler extends AbstractHandler<String> {
@Autowired
- private OrderService orderService;
- @Autowired
- private OrderDetlService orderDetlService;
- @Autowired
private OrderPakoutService orderPakoutService;
@Autowired
private OrderDetlPakoutService orderDetlPakoutService;
+ @Autowired
+ private ApiLogService apiLogService;
+ @Autowired
+ private SnowflakeIdWorker snowflakeIdWorker;
@Transactional
public ReturnT<String> abandoned(OrderPakout orderPakout) {
List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectByOrderId(orderPakout.getId());
-
+ moveBoth(orderPakout,orderDetls);
return SUCCESS;
+ }
+
+ private void moveBoth(OrderPakout order, List<OrderDetlPakout> orderDetls){
+ Date now = new Date();
+ if (!Cools.isEmpty(orderDetls)) {
+ for (OrderDetlPakout orderDetl : orderDetls) {
+ orderDetl.setUpdateBy(0L);
+ orderDetl.setUpdateTime(now);
+// orderDetlPakoutService.addToLogTable(orderDetl);
+ orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>()
+ .eq("id",orderDetl.getId()));
+ }
+ }
+ if (!Cools.isEmpty(order)){
+ order.setUpdateBy(0L);
+ order.setUpdateTime(now);
+// orderPakoutService.addToLogTable(order);
+ orderPakoutService.delete(new EntityWrapper<OrderPakout>()
+ .eq("id",order.getId()));
+ }
+ }
+
+ @Transactional
+ public ReturnT<String> inspection(OrderPakout orderPakout) {
+ List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectByOrderId(orderPakout.getId());
+ String memo = "";
+ for (OrderDetlPakout orderDetl : orderDetls) {
+ if (!CodeDetectionUtil.barcodeDetection(orderDetl.getManu(),7)){
+ if (Cools.isEmpty(memo)){
+ memo = "鏃犲簱瀛�";
+ }else {
+ memo = memo+";鏃犲簱瀛�";
+ }
+ continue;
+ }
+ if (Cools.isEmpty(orderDetl.getDanger$()) || orderDetl.getDanger()==1){//鍚堟牸涓嶉渶瑕佹楠�
+ continue;
+ }
+ OrderInspectionRollParam orderInspectionRollParam = new OrderInspectionRollParam(orderDetl.getModel());
+ String response = "";
+ boolean success = false;
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(MesConstant.URL)
+ .setPath(MesConstant.PAKIN_URL)
+ .setJson(JSON.toJSONString(orderInspectionRollParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ if (jsonObject.getBoolean("state")) {
+ String value = jsonObject.getString("value");
+ if (value.equals("鍚堟牸")){
+ orderDetl.setDanger(1);
+ orderDetlPakoutService.updateById(orderDetl);
+ } else if (value.equals(orderDetl.getDanger$())){
+ if (Cools.isEmpty(memo)){
+ memo = "鏌ヨ鍗峰彿缁撴灉锛�"+jsonObject.getString("message");
+ }else {
+ memo = memo+";鏌ヨ鍗峰彿缁撴灉锛�"+jsonObject.getString("message");
+ }
+ continue;
+ } else {
+ if (Cools.isEmpty(memo)){
+ memo = "鏌ヨ鍗峰彿缁撴灉锛�"+jsonObject.getString("message");
+ }else {
+ memo = memo+";鏌ヨ鍗峰彿缁撴灉锛�"+jsonObject.getString("message");
+ }
+ if (value.equals("涓嶅悎鏍�")){
+ orderDetl.setDanger(2);
+ orderDetlPakoutService.updateById(orderDetl);
+ }
+ continue;
+ }
+ } else {
+ if (Cools.isEmpty(memo)){
+ memo = "鏌ヨ鍗峰彿缁撴灉锛�"+jsonObject.getString("message");
+ }else {
+ memo = memo+";鏌ヨ鍗峰彿缁撴灉锛�"+jsonObject.getString("message");
+ }
+ }
+ success = true;
+ } else {
+ if (Cools.isEmpty(memo)){
+ memo = "鏌ヨ鍗峰彿缁撴灉锛�"+jsonObject.getString("message");
+ }else {
+ memo = memo+";鏌ヨ鍗峰彿缁撴灉锛�"+jsonObject.getString("message");
+ }
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(orderInspectionRollParam), response);
+// throw new CoolException("鏌ヨ鍗峰彿鏄惁鍚堟牸澶辫触");
+ }
+ } catch (Exception e) {
+ if (Cools.isEmpty(memo)){
+ memo = "鏌ヨ鍗峰彿缁撴灉锛�"+"寮傚父"+e.getMessage();
+ }else {
+ memo = memo+";鏌ヨ鍗峰彿缁撴灉锛�"+"寮傚父"+e.getMessage();
+ }
+ log.error("fail", e);
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg(e.getMessage());
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "鏌ヨ鍗峰彿鏄惁鍚堟牸",
+ MesConstant.URL + MesConstant.PAKIN_URL,
+ null,
+ "127.0.0.1",
+ JSON.toJSONString(orderInspectionRollParam),
+ response,
+ success
+ );
+ } catch (Exception e) { log.error("鏌ヨ鍗峰彿鏄惁鍚堟牸淇濆瓨鎺ュ彛鏃ュ織寮傚父", e); }
+ }
+ }
+ if (Cools.isEmpty(memo)){
+ return SUCCESS;
+ }
+ orderPakout.setSettle(13L);//妫�楠屽瓨鍦ㄤ笉鍚堟牸
+ orderPakout.setMemo(memo);
+ orderPakoutService.updateById(orderPakout);
+ return FAIL;
}
@Transactional
public ReturnT<String> start(OrderPakout orderPakout) {
- List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectByOrderId(orderPakout.getId());
+ List<OrderDetlPakout> orderDetlPakoutList = orderDetlPakoutService.selectByOrderId(orderPakout.getId());
+ if (orderDetlPakoutList.isEmpty()){
+ orderPakout.setSettle(98L);
+ orderPakout.setMemo("涓嶅瓨鍦ㄦ槑缁嗭紒锛侊紒");
+ orderPakoutService.updateById(orderPakout);
+ return FAIL;
+ }
+ List<OrderOutLocBoxCsUtilParam> outLocBoxCs = new ArrayList<>();
+ String orderNo = "ZH" + snowflakeIdWorker.nextId();
+ for (OrderDetlPakout orderDetl : orderDetlPakoutList) {
+ if (!CodeDetectionUtil.barcodeDetection(orderDetl.getManu(),7)){//鏃犲簱瀛�
+ continue;
+ }
+ if (Cools.isEmpty(orderDetl.getDanger$()) || orderDetl.getDanger()!=1){//涓嶅悎鏍间笉鍑哄簱
+ continue;
+ }
+ OrderOutLocBoxCsUtilParam outLocBox = new OrderOutLocBoxCsUtilParam();
+ outLocBox.setBoxNo(orderDetl.getBatch());
+ outLocBox.setRoll(orderDetl.getModel());
+ outLocBox.setMemo(orderDetl.getMemo());
+ outLocBox.setOrderOneNo(orderNo);
+ outLocBox.setCstmrName(orderPakout.getCstmrName());
+ outLocBox.setDanger(orderDetl.getDanger$());
+ outLocBoxCs.add(outLocBox);
+ }
+ if (outLocBoxCs.isEmpty()){
+ orderPakout.setSettle(98L);
+ orderPakout.setMemo("涓嶅瓨鍦ㄥ悎鏍肩殑鐗╂枡鏄庣粏锛侊紒锛�");
+ orderPakoutService.updateById(orderPakout);
+ return FAIL;
+ }
- return SUCCESS;
+ OrderOutBatchUtil orderOutBatchUtil = new OrderOutBatchUtil(orderNo,orderPakout.getCstmrName(),"","MES涓嬪彂缁勮揣鍗�","缁勮揣鍗�",true,orderPakout.getItemName());
+ R r = orderOutBatchUtil.outGroupOrderForm(outLocBoxCs);
+ int code = Integer.parseInt(String.valueOf(r.get("code")));
+ if (code==200){
+ return SUCCESS;
+ }
+ String meg = String.valueOf(r.get("msg"));
+ orderPakout.setSettle(98L);
+ orderPakout.setMemo(meg);
+ orderPakoutService.updateById(orderPakout);
+ return FAIL;
}
}
--
Gitblit v1.9.1