From 608fb6f9529ce51291ef682638a5efc7dd51ac63 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 18 十一月 2025 08:21:08 +0800
Subject: [PATCH] 1.完善找库位 2.新增erp订单删除后,wms订单跟着删除功能 3.新增订单完成后,上报erp,erp报错后显现在出货单中 4.新增一键查询到异常完成订单 5.对销售单据和其他单据进行区分出库 6.对中间表订单状态进行完善 7.新增锁单功能 8.新增任务查询维护加上订单号
---
src/main/java/com/zy/third/task/handler/OrderHandler.java | 127 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 117 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/third/task/handler/OrderHandler.java b/src/main/java/com/zy/third/task/handler/OrderHandler.java
index b48cf7d..d5015da 100644
--- a/src/main/java/com/zy/third/task/handler/OrderHandler.java
+++ b/src/main/java/com/zy/third/task/handler/OrderHandler.java
@@ -1,22 +1,19 @@
package com.zy.third.task.handler;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.Mat;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.service.DocTypeService;
-import com.zy.asrs.service.MatService;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.common.model.DetlDto;
import com.zy.third.entity.ExdInstockSource;
import com.zy.third.entity.ExdOutstockSource;
+import com.zy.third.entity.ExdStock;
+import com.zy.third.service.ExdStockService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -47,6 +44,13 @@
@Autowired
private MatService matService;
+ @Autowired
+ private ExdStockService exdStockService;
+ @Autowired
+ private Order1Service order1Service;
+ @Autowired
+ private OrderDetl1Service orderDetl1Service;
+
@Transactional
public ReturnT<String> readInOrder(List<ExdInstockSource> exdInstockSource) {
@@ -54,7 +58,15 @@
Integer ftrantype = exdInstockSource.get(0).getFtrantype();
Order order = orderService.selectByNo(fbillno);
if (!Cools.isEmpty(order)) {
- throw new CoolException(fbillno + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦");
+ if (order.getSettle() > 1L) {
+ throw new CoolException(fbillno + "鍗曟嵁浣滀笟涓紝璇峰嬁閲嶅鎻愪氦");
+ }
+ orderService.remove(order.getId());
+ //鍒犻櫎鍏ュ簱瀛愬崟
+ Order1 order1 = order1Service.selectByNo(fbillno);
+ if (!Cools.isEmpty(order1)) {
+ order1Service.remove(order1.getId());
+ }
}
DocType docType = docTypeService.selectById(ftrantype);
if (docType == null) {
@@ -102,12 +114,55 @@
if (!orderService.insert(order)) {
throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
}
+
+ //鐢熸垚瀛愬崟涓昏〃
+ Order1 order1 = new Order1(
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ fbillno, // 璁㈠崟缂栧彿
+ DateUtils.convert(exdInstockSource.get(0).getFdate()), // 鍗曟嵁鏃ユ湡
+ docType.getDocId(), // 鍗曟嵁绫诲瀷
+ null, // 椤圭洰缂栧彿
+ null, //
+ null, // 璋冩嫧椤圭洰缂栧彿
+ null, // 鍒濆绁ㄦ嵁鍙�
+ null, // 绁ㄦ嵁鍙�
+ null, // 瀹㈡埛缂栧彿
+ null, // 瀹㈡埛
+ null, // 鑱旂郴鏂瑰紡
+ null, // 鎿嶄綔浜哄憳
+ null, // 鍚堣閲戦
+ null, // 浼樻儬鐜�
+ null, // 浼樻儬閲戦
+ null, // 閿�鍞垨閲囪喘璐圭敤鍚堣
+ null, // 瀹炰粯閲戦
+ null, // 浠樻绫诲瀷
+ null, // 涓氬姟鍛�
+ null, // 缁撶畻澶╂暟
+ null, // 閭垂鏀粯绫诲瀷
+ null, // 閭垂
+ null, // 浠樻鏃堕棿
+ null, // 鍙戣揣鏃堕棿
+ null, // 鐗╂祦鍚嶇О
+ null, // 鐗╂祦鍗曞彿
+ 1L, // 璁㈠崟鐘舵��
+ 1, // 鐘舵��
+ 9527L, // 娣诲姞浜哄憳
+ now, // 娣诲姞鏃堕棿
+ 9527L, // 淇敼浜哄憳
+ now, // 淇敼鏃堕棿
+ null // 澶囨敞
+ );
+ if (!order1Service.insert(order1)) {
+ throw new CoolException("鐢熸垚瀛愬崟鎹富妗eけ璐ワ紝璇疯仈绯荤鐞嗗憳");
+ }
+
// 鍗曟嵁鏄庣粏妗�
List<DetlDto> list = new ArrayList<>();
for (ExdInstockSource detail : exdInstockSource) {
DetlDto dto = new DetlDto(detail.getFitemid() + "", detail.getFbatchno(), detail.getFqty());
dto.setFrob(detail.getFrob());
dto.setFInterID(detail.getFinterid());
+ dto.setProdInKind(detail.getFdcstockid()+"");
if (DetlDto.has(list, dto)) {
DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
assert detlDto != null;
@@ -124,6 +179,9 @@
OrderDetl orderDetl = new OrderDetl();
orderDetl.sync(mat);
orderDetl.setBatch(detlDto.getBatch());
+ if(detlDto.getAnfme() <0) {
+ detlDto.setAnfme(-detlDto.getAnfme());
+ }
orderDetl.setAnfme(detlDto.getAnfme());
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
@@ -135,9 +193,32 @@
orderDetl.setQty(0.0D);
orderDetl.setDeadWarn(detlDto.getFInterID());
orderDetl.setBeBatch(detlDto.getFrob());
+ ExdStock id = exdStockService.selectOne(new EntityWrapper<ExdStock>().eq("ID", detlDto.getProdInKind()));
+ orderDetl.setBrand(id.getFname());//浠撳簱
if (!orderDetlService.insert(orderDetl)) {
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
}
+
+ //鐢熸垚瀛愬崟鏄庣粏
+ OrderDetl1 orderDetl1 = new OrderDetl1();
+ orderDetl1.sync(orderDetl);
+ orderDetl1.setOrderId(order1.getId());
+ if (!orderDetl1Service.insert(orderDetl1)) {
+ throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ }
+ return SUCCESS;
+ }
+
+ @Transactional
+ public ReturnT<String> deletereadInOrder(List<ExdInstockSource> exdInstockSource) {
+ String fbillno = exdInstockSource.get(0).getFbillno();
+ Order order = orderService.selectByNo(fbillno);
+ if (!Cools.isEmpty(order)&&order.getStatus()>1) {
+ if (order.getSettle() > 1L) {
+ throw new CoolException(fbillno + "鍗曟嵁姝e湪浣滀笟涓紝鏃犳硶鍒犻櫎");
+ }
+ orderService.remove(order.getId());
}
return SUCCESS;
}
@@ -151,9 +232,16 @@
// 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹�
if (!Cools.isEmpty(order)) {
if (order.getSettle() > 1L) {
- throw new CoolException(fbillno + "姝e湪鍑哄簱锛屾棤娉曚慨鏀瑰崟鎹�");
+ throw new CoolException(fbillno + "鍗曟嵁姝e湪浣滀笟涓紝璇峰嬁閲嶅鎻愪氦");
}
orderService.remove(order.getId());
+ }
+ if(ftrantype == 41){
+ ftrantype = 42;
+ }else if(ftrantype == 24){
+ ftrantype = 25;
+ }else if(ftrantype == 1){
+ ftrantype = 3;
}
DocType docType = docTypeService.selectById(ftrantype);
Date now = new Date();
@@ -201,10 +289,12 @@
List<DetlDto> list = new ArrayList<>();
for (ExdOutstockSource detail : exdOutstockSource) {
DetlDto dto = new DetlDto(detail.getFitemid()+"", detail.getFbatchno(), detail.getFqty());
+ dto.setFInterID(detail.getFinterid());
if (DetlDto.has(list, dto)) {
DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
assert detlDto != null;
detlDto.setAnfme(detlDto.getAnfme() + detail.getFqty());
+
} else {
list.add(dto);
}
@@ -217,6 +307,9 @@
OrderDetl orderDetl = new OrderDetl();
orderDetl.sync(mat);
orderDetl.setBatch(detlDto.getBatch());
+ if(detlDto.getAnfme() <0) {
+ detlDto.setAnfme(-detlDto.getAnfme());
+ }
orderDetl.setAnfme(detlDto.getAnfme());
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
@@ -224,6 +317,7 @@
orderDetl.setCreateTime(now);
orderDetl.setUpdateBy(9527L);
orderDetl.setUpdateTime(now);
+ orderDetl.setDeadWarn(detlDto.getFInterID());//璁㈠崟鍐呯爜
orderDetl.setStatus(1);
orderDetl.setQty(0.0D);
if (!orderDetlService.insert(orderDetl)) {
@@ -233,4 +327,17 @@
return SUCCESS;
}
+ @Transactional
+ public ReturnT<String> deletereadOutOrder(List<ExdOutstockSource> exdInstockSource) {
+ String fbillno = exdInstockSource.get(0).getFbillno();
+ Order order = orderService.selectByNo(fbillno);
+ if (!Cools.isEmpty(order)&&order.getStatus()>1) {
+ if (order.getSettle() > 1L) {
+ throw new CoolException(fbillno + "鍗曟嵁姝e湪浣滀笟涓紝鏃犳硶鍒犻櫎");
+ }
+ orderService.remove(order.getId());
+ }
+ return SUCCESS;
+ }
+
}
--
Gitblit v1.9.1