From 115e0776a3465ae4775b5a3bf715a7325a2474b6 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 10 五月 2023 08:16:04 +0800 Subject: [PATCH] 工作档完成状态变更 --- src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 121 ++++++++++++++++++++++++++-------------- 1 files changed, 78 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java index 9008f74..ff7cf34 100644 --- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java @@ -1,19 +1,20 @@ package com.zy.asrs.task.handler; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; +import com.core.common.Cools; import com.core.common.DateUtils; import com.core.exception.CoolException; +import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.service.ApiLogService; +import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; -import com.zy.common.constant.MesConstant; -import com.zy.common.model.MesPakinParam; -import com.zy.common.utils.HttpHandler; +import com.zy.common.service.erp.ErpService; +import com.zy.common.service.erp.entity.VoucherDetail; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; @@ -21,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; +import java.util.Date; import java.util.List; /** @@ -38,55 +40,88 @@ private OrderDetlService orderDetlService; @Autowired private ApiLogService apiLogService; + @Autowired + private DocTypeService docTypeService; + @Autowired + private ErpService erpService; @Transactional public ReturnT<String> start(Order order) { - List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - - MesPakinParam pakinParam = new MesPakinParam(); - pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime())); - pakinParam.setLgortFrom("5008"); - pakinParam.setLgortTo("5006"); - for (OrderDetl orderDetl : orderDetls) { - pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + "-" + orderDetl.getBatch(), orderDetl.getAnfme())); + DocType docType = docTypeService.selectById(order.getDocType()); + if (null == docType) { + return SUCCESS; } - String response = ""; - boolean success = false; - try { - response = new HttpHandler.Builder() - .setUri(MesConstant.URL) - .setPath(MesConstant.PAKIN_URL) - .setJson(JSON.toJSONString(pakinParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - success = true; + if (!Cools.isEmpty(docType.getMemo())) { + if (docType.getMemo().equals("hand")) { // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� if (!orderService.updateSettle(order.getId(), 6L, null)) { throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } - } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response); - throw new CoolException("涓婃姤mes绯荤粺澶辫触"); + return SUCCESS; } - } catch (Exception e) { - log.error("fail", e); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { + } + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); + // 鍏ュ簱瀹屾垚涓婃姤 + if (docType.getPakin() == 1) { try { - // 淇濆瓨鎺ュ彛鏃ュ織 - apiLogService.save( - "鎴愬搧搴撳叆搴撲笂鎶�", - MesConstant.URL + MesConstant.PAKIN_URL, - null, - "127.0.0.1", - JSON.toJSONString(pakinParam), - response, - success - ); - } catch (Exception e) { log.error("", e); } + // erp 鍚屾 + int state = 2; + if (!erpService.updateStateForVoucher(order.getOrderNo(), state)) { + throw new CoolException(order.getOrderNo() + "璁㈠崟淇敼State涓�"+state+"澶辫触"); + } else { + erpService.updateTimeForVoucherDetail(order.getOrderNo()); + } + + // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� + if (!orderService.updateSettle(order.getId(), 6L, null)) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + + } catch (Exception e) { + log.error("fail", e); + return FAIL.setMsg(e.getMessage()); + } + } + // 鍑哄簱瀹屾垚涓婃姤 + if (docType.getPakout() == 1) { + try { + double TotalNum = 0.0; + Integer TotalCount = orderDetls.size(); + // erp 鍚屾 + int state = 2; + if (!erpService.updateStateForVoucher(order.getOrderNo(), state)) { + throw new CoolException(order.getOrderNo() + "璁㈠崟淇敼State涓�"+state+"澶辫触"); + } else { + Date now = new Date(); + for (OrderDetl orderDetl : orderDetls) { + TotalNum = TotalNum + orderDetl.getAnfme(); + if (null == erpService.selectVoucherDetail(order.getOrderNo(), orderDetl.getBatch())) { + VoucherDetail voucherDetail = new VoucherDetail(); + voucherDetail.setVoucherID(order.getOrderNo()); + voucherDetail.setPickID("fepvnn0496"); + voucherDetail.setBarcode(orderDetl.getBatch()); + voucherDetail.setLastUpdatedDate(DateUtils.convert(now)); + if (!erpService.insertVoucherDetail(voucherDetail)) { + throw new CoolException(order.getOrderNo() + "璁㈠崟娣诲姞VoucherDetail"+ JSON.toJSONString(voucherDetail)+"澶辫触"); + } + } + } + } + // 鏇存柊閲嶉噺鍜屾暟閲� + if (!erpService.updateStateForVoucher(order.getOrderNo(), TotalNum, TotalCount)) { + throw new CoolException(order.getOrderNo() + "璁㈠崟淇敼閲嶉噺鍜屾暟閲忓け璐�"); + } + + // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� + if (!orderService.updateSettle(order.getId(), 6L, null)) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + + } catch (Exception e) { + log.error("fail", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } } return SUCCESS; } -- Gitblit v1.9.1