From 08915b05c42b2ba97a8bb0809aeb48802ae63b46 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期五, 27 三月 2026 20:42:32 +0800
Subject: [PATCH] no message
---
src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java | 31 +
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 659 ++++++++++++++++-------------
src/main/java/com/zy/asrs/entity/param/CheckOrderDetlParams.java | 101 ++++
src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java | 2
src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 25
src/main/java/com/zy/common/model/TaskDto.java | 25 +
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 77 ++-
src/main/resources/mapper/TaskMapper.xml | 2
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 47 +
src/main/java/com/zy/common/model/LocDto.java | 2
src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java | 12
src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java | 2
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 43 +
src/main/java/com/zy/common/constant/MesConstant.java | 6
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 223 ++++++---
src/main/resources/mapper/OrderDetlPakoutMapper.xml | 6
src/main/java/com/zy/common/service/CommonService.java | 20
17 files changed, 824 insertions(+), 459 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/param/CheckOrderDetlParams.java b/src/main/java/com/zy/asrs/entity/param/CheckOrderDetlParams.java
new file mode 100644
index 0000000..f517eba
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/CheckOrderDetlParams.java
@@ -0,0 +1,101 @@
+package com.zy.asrs.entity.param;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "CheckOrderDetlParams", description = "鐩樼偣璋冩暣鍙傛暟")
+public class CheckOrderDetlParams implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+
+ /**
+ * 鍗曟嵁缂栧彿
+ */
+ @ApiModelProperty(value= "鍗曟嵁缂栧彿")
+ @TableField("order_no")
+ private String orderNo;
+
+ /**
+ * 鏁伴噺
+ */
+ @ApiModelProperty(value= "鏁伴噺")
+ private BigDecimal anfme;
+
+ @ApiModelProperty(value= "")
+ @TableField("diff_qty")
+ private BigDecimal diffQty;
+
+ /**
+ * 鍟嗗搧缂栫爜
+ */
+ @ApiModelProperty(value= "鍟嗗搧缂栫爜")
+ private String matnr;
+
+ /**
+ * 鍟嗗搧鍚嶇О
+ */
+ @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
+ private String maktx;
+
+ /**
+ * 鎵瑰彿
+ */
+ @ApiModelProperty(value= "鎵瑰彿")
+ private String batch;
+
+ /**
+ * 瑙勬牸
+ */
+ @ApiModelProperty(value= "瑙勬牸")
+ private String specs;
+
+ /**
+ * 鍨嬪彿
+ */
+ @ApiModelProperty(value= "鍨嬪彿")
+ private String model;
+
+ /**
+ * 涓夋柟缂栫爜
+ */
+ @ApiModelProperty(value= "涓夋柟缂栫爜")
+ @TableField("three_code")
+ private String threeCode;
+
+ /**
+ * 渚涘簲鍟�
+ */
+ @ApiModelProperty(value= "渚涘簲鍟�")
+ private String supp;
+
+ /**
+ * 渚涘簲鍟嗙紪鐮�
+ */
+ @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�")
+ @TableField("supp_code")
+ private String suppCode;
+
+
+ /**
+ * 澶囩敤1
+ */
+ @ApiModelProperty(value= "澶囩敤1")
+ private String standby1 = "";
+
+
+
+ /**
+ * 澶囩敤1
+ */
+ @ApiModelProperty(value= "澶囩敤1")
+ @TableField("box_type1")
+ private String boxType1 = "1";
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
index a99385e..46203c1 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
@@ -133,7 +133,7 @@
locMast.setLocSts("Q");
locMast.setModiTime(now);
locMast.setModiUser(userId);
- if (!locCacheService.updateById(locMast)) {
+ if (!locCacheService.update(locMast, new EntityWrapper<LocCache>().eq("loc_no", locMast.getLocNo()))) {
throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
}
}
@@ -174,7 +174,7 @@
locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F");
locMast.setModiTime(now);
locMast.setModiUser(userId);
- locCacheService.updateById(locMast);
+ locCacheService.update(locMast, new EntityWrapper<LocCache>().eq("loc_no", locMast.getLocNo()));
}
BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", wrkMast.getSourceStaNo()));
@@ -189,7 +189,7 @@
throw new CoolException("鏇存柊婧愮珯鐐圭姸鎬佸け璐ワ紝鐩爣搴撲綅鐘舵�侊細" + station.getLocSts());
}
// 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
- } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() < 14) {
+ } else if (wrkMast.getWrkSts() > 300 && wrkMast.getWrkSts() < 304) {
locNo = wrkMast.getSourceLocNo();
// 鍑哄簱 ===>> F.鍦ㄥ簱
if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
@@ -208,7 +208,8 @@
locMast.setLocSts("O");
locMast.setModiTime(now);
locMast.setModiUser(userId);
- locCacheService.updateById(locMast);
+ locCacheService.update(locMast, new EntityWrapper<LocCache>().eq("loc_no", locMast.getLocNo()));
+// locCacheService.updateById(locMast);
}
BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", wrkMast.getStaNo()));
@@ -334,7 +335,8 @@
locMast.setLocSts(locSts);
locMast.setModiTime(now);
locMast.setModiUser(userId);
- boolean locMastRes = locCacheService.updateById(locMast);
+
+ boolean locMastRes = locCacheService.update(locMast, new EntityWrapper<LocCache>().eq("loc_no", locMast.getLocNo()));
if (!wrkMastRes || !locMastRes) {
throw new CoolException("淇濆瓨鏁版嵁澶辫触");
}
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index ae8e6bd..aa3be9f 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -517,7 +517,8 @@
@Transactional(rollbackFor = Exception.class)
public void checkStockOut(BasDevp staNo, TaskDto taskDto, Long userId) {
Date now = new Date();
- List<LocDto> locDtos = taskDto.getLocDtos();
+ List<LocDto> locDtos = taskDto.getLocDtos().stream().distinct().collect(Collectors.toList());
+// Map<String, List<LocDto>> collect = taskDto.getLocDtos().stream().collect(Collectors.groupingBy(LocDto::getLocNo));
for (LocDto locDto : locDtos) {
if (!taskDto.getLocNo().equals(locDto.getLocNo()) && !taskDto.getStaNo().equals(locDto.getStaNo())) {
throw new CoolException("璁㈠崟鍑哄簱寮傚父锛岃鑱旂郴绠$悊鍛�");
@@ -554,25 +555,24 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo());
}
// 鐢熸垚宸ヤ綔妗f槑缁�
- for (LocDto locDto : taskDto.getLocDtos()) {
+ for (LocDto locDto : locDtos) {
if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
continue;
}
- List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>()
+ CheckOrderDetl checkOrderDetls = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>()
.eq("loc_no", locDto.getLocNo())
.eq("matnr", locDto.getMatnr())
- .eq(!Cools.isEmpty(locDto.getBatch()),"batch", locDto.getBatch())
- .eq("order_no", locDto.getOrderNo())
- );
+ .eq("supp_code", locDto.getSuppCode())
+ .eq("order_no", locDto.getOrderNo()));
- if (checkOrderDetls.size() > 1) {
+ if (Objects.isNull(checkOrderDetls)) {
throw new CoolException("鏁版嵁澶т簬1,璇锋鏌ユ暟鎹�");
}
WrkDetl wrkDetl = new WrkDetl();
- wrkDetl.sync(checkOrderDetls.get(0));
- wrkDetl.setOrderId(checkOrderDetls.get(0).getId());
+ wrkDetl.sync(checkOrderDetls);
+ wrkDetl.setOrderId(checkOrderDetls.getId());
wrkDetl.setZpallet(wrkMast.getBarcode());
wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
@@ -587,8 +587,8 @@
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
// 淇敼璁㈠崟鏄庣粏
- checkOrderDetls.get(0).setStatus(2);
- if (!checkOrderDetlService.updateById(checkOrderDetls.get(0))) {
+ checkOrderDetls.setStatus(2);
+ if (!checkOrderDetlService.updateById(checkOrderDetls)) {
throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
}
}
@@ -618,9 +618,9 @@
}
// 鑾峰彇搴撲綅
LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", taskDto.getLocNo()));
- int ioType = (taskDto.isAll() ? 101 : 103);
+ int ioType = 103;
// 鐢熸垚宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+ int workNo = commonService.getWorkNo(4);
Task task = new Task();
task.setWrkNo(workNo)
@@ -690,7 +690,7 @@
locCache.setLocSts(ioType == 101 ? "R" : "P");
locCache.setModiUser(userId);
locCache.setModiTime(now);
- if (!locCacheService.updateById(locCache)) {
+ if (!locCacheService.update(locCache, new EntityWrapper<LocCache>().eq("loc_no", locCache.getLocNo()))) {
throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + taskDto.getLocNo());
}
} else {
@@ -1388,8 +1388,7 @@
if (wrkMast.getIoType() == 107) {
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- if (!Cools.isEmpty(wrkDetls.get(0).getOrderNo())) {
-
+ if (!Objects.isNull(wrkDetls) && !wrkDetls.isEmpty()) {
for (WrkDetl wrkDetl : wrkDetls) {
CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>()
.eq("loc_no", wrkMast.getSourceLocNo())
@@ -1397,8 +1396,10 @@
.eq("batch", wrkDetl.getBatch())
.eq("order_no", wrkDetl.getOrderNo())
);
- checkOrderDetl.setStatus(1);
- checkOrderDetlService.updateById(checkOrderDetl);
+ if (!Objects.isNull(checkOrderDetl)) {
+ checkOrderDetl.setStatus(1);
+ checkOrderDetlService.updateById(checkOrderDetl);
+ }
}
CheckOrder checkOrder = checkOrderService.selectOne(new EntityWrapper<CheckOrder>().eq("order_no", wrkDetls.get(0).getOrderNo()));
List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", checkOrder.getId()));
@@ -1406,8 +1407,10 @@
checkOrder.setSettle(is ? 1L : 12L);
checkOrderService.updateById(checkOrder);
}
-
-
+// if (!Cools.isEmpty(wrkDetls.get(0).getOrderNo())) {
+//
+//
+// }
}
// // 璁㈠崟鍏宠仈
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java
index 69f5ead..ddfb52f 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java
@@ -1,20 +1,49 @@
package com.zy.asrs.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.WrkMastLog;
import com.zy.asrs.mapper.WrkDetlLogMapper;
import com.zy.asrs.entity.WrkDetlLog;
import com.zy.asrs.service.WrkDetlLogService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.service.WrkDetlService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
+@Slf4j
@Service("wrkDetlLogService")
public class WrkDetlLogServiceImpl extends ServiceImpl<WrkDetlLogMapper, WrkDetlLog> implements WrkDetlLogService {
+ @Autowired
+ private WrkDetlService wrkDetlService;
+
@Override
+ @Transactional(rollbackFor = Exception.class)
public boolean save(Integer workNo) {
- return this.baseMapper.save(workNo) > 0;
+ List<WrkDetl> detlLogs = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
+ if (Objects.isNull(detlLogs) || detlLogs.isEmpty()) {
+ log.error("鏁版嵁閿欒锛氫换鍔′笉瀛樺湪锛侊紒");
+// throw new CoolException("鏁版嵁閿欒锛氫换鍔′笉瀛樺湪锛侊紒");
+ } else {
+ detlLogs.forEach(WrkDetl -> {
+ WrkDetlLog detlLog = new WrkDetlLog();
+ BeanUtils.copyProperties(WrkDetl, detlLog);
+ if (!this.insert(detlLog)) {
+ throw new CoolException("浠诲姟鏃ュ織淇濆瓨澶辫触锛侊紒");
+ }
+ });
+ }
+ return true;
}
@Override
diff --git a/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java b/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
index c2a7f49..b83a77e 100644
--- a/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
@@ -14,7 +14,7 @@
/**
* 灏嗗凡瀹屾垚order鍜宱rderDetl绉诲姩鍒發og琛�
*/
- @Scheduled(cron = "0/30 * * * * ?")
+ @Scheduled(cron = "0 0 04 * * ?")
public void execute(){
orderMoveHistoryHandler.start();
}
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index fd63a1e..87e9e24 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -1,11 +1,15 @@
package com.zy.asrs.task;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.CheckOrder;
import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderPakout;
import com.zy.asrs.enums.OrderTypeEnum;
import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.OrderPakoutService;
import com.zy.asrs.service.OrderService;
+import com.zy.asrs.service.impl.OrderPakoutServiceImpl;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.OrderSyncHandler;
import com.zy.asrs.utils.OrderInAndOutUtil;
@@ -17,6 +21,7 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import java.util.Arrays;
import java.util.List;
/**
@@ -35,6 +40,8 @@
@Value("${erp.switch.ErpReportOld}")
private boolean ErpReportOld;
+ @Autowired
+ private OrderPakoutService orderPakoutService;
@Scheduled(cron = "0 0 1 * * ? ")
public void clearApiLog() {
@@ -53,9 +60,9 @@
try {
ReturnT<String> result = orderSyncHandler.startOrderIssuedOnceMore(order);
if (!result.isSuccess()) {
- log.error("鍗曟嵁[orderNo={}]鍐嶆杞墽琛岃〃澶辫触:{}", order.getOrderNo(),result.getMsg());
+ log.error("鍗曟嵁[orderNo={}]鍐嶆杞墽琛岃〃澶辫触:{}", order.getOrderNo(), result.getMsg());
}
- } catch (Exception e){
+ } catch (Exception e) {
log.error(e.getMessage());
log.error("鍗曟嵁[orderNo={}]鍐嶆杞墽琛岃〃澶辫触", order.getOrderNo());
}
@@ -67,19 +74,19 @@
public void completeAndReportOrderIssued() {
// String erpReport = Parameter.get().getErpReport();
// if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
- List<Order> orderList = orderService.selectComplete1();
+ List<Order> orderList = orderService.selectComplete1();
// List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 1L).eq("status", 1).orderBy("create_time", true));
- for (Order order : orderList) {
- try {
- ReturnT<String> result = orderSyncHandler.startOrderIssued(order);
- if (!result.isSuccess()) {
- log.error("鍗曟嵁[orderNo={}]杞墽琛岃〃澶辫触", order.getOrderNo());
- }
- } catch (Exception e){
- log.error(e.getMessage());
+ for (Order order : orderList) {
+ try {
+ ReturnT<String> result = orderSyncHandler.startOrderIssued(order);
+ if (!result.isSuccess()) {
log.error("鍗曟嵁[orderNo={}]杞墽琛岃〃澶辫触", order.getOrderNo());
}
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ log.error("鍗曟嵁[orderNo={}]杞墽琛岃〃澶辫触", order.getOrderNo());
}
+ }
// }
}
@@ -88,25 +95,46 @@
public void completeAndReportOrderInAndOutUtil() {
// String erpReport = Parameter.get().getErpReport();
// if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
- List<Order> orders = OrderInAndOutUtil.selectComplete(null);
- for (Order order : orders) {
- try {
- ReturnT<String> result = orderSyncHandler.startOrderInAndOutUtil(order);
- if (!result.isSuccess()) {
- log.error("鍗曟嵁[orderNo={}]杞笂鎶ヨ〃澶辫触", order.getOrderNo());
- }
- } catch (Exception e){
- log.error(e.getMessage());
+ List<Order> orders = OrderInAndOutUtil.selectComplete(null);
+ for (Order order : orders) {
+ try {
+ ReturnT<String> result = orderSyncHandler.startOrderInAndOutUtil(order);
+ if (!result.isSuccess()) {
log.error("鍗曟嵁[orderNo={}]杞笂鎶ヨ〃澶辫触", order.getOrderNo());
}
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ log.error("鍗曟嵁[orderNo={}]杞笂鎶ヨ〃澶辫触", order.getOrderNo());
}
+ }
// }
+ }
+
+// @Scheduled(cron = "0/5 * * * * ? ")
+ @Async("orderThreadPool")
+ public void completePakoutOrder() {
+ List<OrderPakout> orderPakouts = orderPakoutService.selectList(new EntityWrapper<OrderPakout>()
+ .in("doc_type", Arrays.asList(2))
+ .eq("settle", 4));
+ if (orderPakouts != null && orderPakouts.size() > 0) {
+ for (OrderPakout orderPakout : orderPakouts) {
+ try {
+ ReturnT<String> result = orderSyncHandler.startConvertOrders(orderPakout);
+ if (!result.isSuccess()) {
+ log.error("鍗曟嵁[orderNo={}]杞笂鎶ヨ〃澶辫触", orderPakout.getOrderNo());
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ log.error("鍗曟嵁[orderNo={}]杞笂鎶ヨ〃澶辫触", orderPakout.getOrderNo());
+ }
+ }
+ }
}
@Scheduled(cron = "0/30 * * * * ? ")
@Async("orderThreadPool")
public void completeAndReportOrderReport() {
- if (!ErpReportOld){
+ if (!ErpReportOld) {
return;
}
String erpReport = Parameter.get().getErpReport();
@@ -118,7 +146,6 @@
if (!result.isSuccess()) {
log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
}
-
} catch (Exception e) {
log.error(e.getMessage());
log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
@@ -127,11 +154,13 @@
}
}
- /**鎹熸孩鍗曞畬缁撲笂鎶� */
+ /**
+ * 鎹熸孩鍗曞畬缁撲笂鎶�
+ */
@Scheduled(cron = "0/15 * * * * ?")
@Async("orderThreadPool")
public void completeCheckOrderReport() {
- if (!ErpReportOld){
+ if (!ErpReportOld) {
return;
}
String erpReport = Parameter.get().getErpReport();
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index f9522b8..62b4d8c 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -89,7 +89,9 @@
*/
@Scheduled(cron = "0/5 * * * * ? ")
private void autoPubTasks() {
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", Arrays.asList(11L, 1L)));
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("wrk_sts", Arrays.asList(11L, 1L))
+ .orderDesc(Arrays.asList("io_pri")));
if (wrkMasts.isEmpty()) {
return;
}
@@ -97,8 +99,7 @@
listMap.keySet().forEach(key -> {
List<WrkMast> wrkMasts1 = listMap.get(key);
Collections.shuffle(wrkMasts1);
- Integer crnNos = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", key));
- if (crnNos < 6) {
+ try {
wrkMasts1.forEach(wrkMast -> {
WorkTaskParams params = new WorkTaskParams();
if (wrkMast.getIoType().equals(11)) {
@@ -117,6 +118,8 @@
wcsApiService.pubWrkToWcs(params);
}
});
+ } catch (Exception e) {
+ log.error(e.getMessage());
}
});
}
@@ -173,11 +176,17 @@
Collections.shuffle(tasks);
tasks.forEach(wrkMast -> {
CallAgvParams param = new CallAgvParams();
- if (wrkMast.getIoType() == 1) {
- param.setWrkNo(wrkMast.getWrkNo() + "");
- param.setOrgSite(wrkMast.getSourceStaNo());
- param.setTarSite(wrkMast.getLocNo());
- } else if (wrkMast.getIoType() == 110 ||wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103){
+ if (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53) {
+ if (wrkMast.getIsNewIn().equals("XM1")) {
+ param.setWrkNo(wrkMast.getWrkNo() + "");
+ param.setOrgSite(wrkMast.getSourceStaNo());
+ param.setTarSite(wrkMast.getStaNo());
+ } else {
+ param.setWrkNo(wrkMast.getWrkNo() + "");
+ param.setOrgSite(wrkMast.getSourceStaNo());
+ param.setTarSite(wrkMast.getLocNo());
+ }
+ } else if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103){
param.setWrkNo(wrkMast.getWrkNo() + "");
param.setOrgSite(wrkMast.getSourceLocNo());
param.setTarSite(wrkMast.getStaNo());
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
index 11c0b25..6c744cf 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
@@ -68,7 +68,7 @@
orderDetl.setUpdateTime(now);
// orderDetlService.addToLogTable(orderDetl);
OrderInAndOutUtil.addToLogTableOrderDetl(order.getPakinPakoutStatus$(),orderDetl);
- if (order.getPakinPakoutStatus() == 1){
+ if (order.getPakinPakoutStatus() == 1) {
orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>()
.eq("id",orderDetl.getId()));
} else {
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 3286885..a2970cd 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -1,6 +1,7 @@
package com.zy.asrs.task.handler;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
@@ -19,9 +20,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.enums.OrderTypeEnum;
import com.zy.asrs.service.*;
-import com.zy.asrs.service.impl.TaskDetlLogServiceImpl;
-import com.zy.asrs.service.impl.TaskDetlServiceImpl;
-import com.zy.asrs.service.impl.WrkDetlLogServiceImpl;
+import com.zy.asrs.service.impl.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.OrderInAndOutUtil;
@@ -75,7 +74,13 @@
@Autowired
private TaskDetlLogService taskDetlLogService;
@Autowired
- private WrkDetlLogServiceImpl wrkDetlLogService;
+ private WrkDetlLogService wrkDetlLogService;
+ @Autowired
+ private WaitPakinService waitPakinService;
+ @Autowired
+ private OrderDetlPakoutService orderDetlPakoutService;
+ @Autowired
+ private OrderPakoutService orderPakoutService;
@Transactional
@@ -279,15 +284,15 @@
orderDetls.forEach(detl -> {
Mat material = matService.selectByMatnr(detl.getMatnr());
if (Objects.isNull(material)) {
- throw new CoolException(material.getMatnr() + "鐗╂枡涓嶅瓨鍦�");
+ throw new CoolException(material.getMatnr() + "鐗╂枡涓嶅瓨鍦�");
}
- ReportOrderParams itemParam = new ReportOrderParams();
-
- LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+ List<WrkDetlLog> wrkDetls = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>()
.eq("matnr", detl.getMatnr())
+ .eq("three_code", detl.getThreeCode())
.eq("supp_code", detl.getSuppCode())
.eq("order_no", detl.getOrderNo()));
- if (Objects.isNull(locDetl)) {
+ if (Objects.isNull(wrkDetls) || wrkDetls.isEmpty()) {
+ ReportOrderParams itemParam = new ReportOrderParams();
// BS Code
itemParam.setTotal_serial(detl.getThreeCode())
// 涓婃姤鏃讹紝榛樿浜у搧绫诲瀷鏄痭ull
@@ -307,30 +312,34 @@
.setDamage_qty(0)
// 涓婃姤鏃讹紝榛樿宸紓鏁伴噺鏄�0
.setDiff_qty(0);
+ reportOrderParams.add(itemParam);
} else {
- // BS Code
- itemParam.setTotal_serial(detl.getThreeCode())
- // 涓婃姤鏃讹紝榛樿浜у搧绫诲瀷鏄痭ull
- .setPro_type(material.getProType())
- // 涓婃姤鏃讹紝榛樿浜у搧缂栫爜
- .setPro_komcode(detl.getMatnr())
- // 涓婃姤鏃讹紝榛樿浜у搧id鏄緵搴斿晢缂栫爜
- .setPro_id(detl.getSuppCode())
- .setLocation_no(locDetl.getZpallet())
- .setSj_emp(locDetl.getModiUser$())
- .setLocation_type(MatLocType.getMatTag(material.getTagId() + ""))
- // 涓婃姤鏃讹紝榛樿涓婃姤鏃堕棿鏄洿鏂版椂闂�
- .setSj_date(Utils.dateToStr(order.getUpdateTime(), "yyyy-MM-dd HH:mm:ss"))
- // 涓婃姤鏃讹紝榛樿涓婃姤鏁伴噺鏄鍗曟暟閲�
- .setPick_qty(locDetl.getAnfme().intValue())
- // 涓婃姤鏃讹紝榛樿鎹熷潖鏁伴噺鏄�0
- .setDamage_qty(0)
- // 涓婃姤鏃讹紝榛樿宸紓鏁伴噺鏄�0
- .setDiff_qty(0);
+ wrkDetls.forEach(wrkDetl -> {
+ ReportOrderParams itemParam = new ReportOrderParams();
+ // BS Code
+ itemParam.setTotal_serial(detl.getThreeCode())
+ // 涓婃姤鏃讹紝榛樿浜у搧绫诲瀷鏄痭ull
+ .setPro_type(material.getProType())
+ // 涓婃姤鏃讹紝榛樿浜у搧缂栫爜
+ .setPro_komcode(detl.getMatnr())
+ // 涓婃姤鏃讹紝榛樿浜у搧id鏄緵搴斿晢缂栫爜
+ .setPro_id(detl.getSuppCode())
+ .setLocation_no(wrkDetl.getZpallet())
+ .setSj_emp(wrkDetl.getModiUser$())
+ .setLocation_type(MatLocType.getMatTag(material.getTagId() + ""))
+ // 涓婃姤鏃讹紝榛樿涓婃姤鏃堕棿鏄洿鏂版椂闂�
+ .setSj_date(Utils.dateToStr(order.getUpdateTime(), "yyyy-MM-dd HH:mm:ss"))
+ // 涓婃姤鏃讹紝榛樿涓婃姤鏁伴噺鏄鍗曟暟閲�
+ .setPick_qty(wrkDetl.getAnfme().intValue())
+// .setPick_qty(detl.getQty().intValue())
+ // 涓婃姤鏃讹紝榛樿鎹熷潖鏁伴噺鏄�0
+ .setDamage_qty(0)
+ // 涓婃姤鏃讹紝榛樿宸紓鏁伴噺鏄�0
+ .setDiff_qty(0);
+ reportOrderParams.add(itemParam);
+ });
}
- reportOrderParams.add(itemParam);
});
-
orderParam.setDetails(reportOrderParams);
XSR response = null;
@@ -389,41 +398,48 @@
orderDetls.forEach(detl -> {
Mat material = matService.selectByMatnr(detl.getMatnr());
if (Objects.isNull(material)) {
- throw new CoolException(material.getMatnr() + "鐗╂枡涓嶅瓨鍦�");
+ throw new CoolException(material.getMatnr() + "鐗╂枡涓嶅瓨鍦�");
}
- TaskDetlLog detlLog = taskDetlLogService.selectOne(new EntityWrapper<TaskDetlLog>()
+ TaskDetlLog taskDetlLog = taskDetlLogService.selectOne(new EntityWrapper<TaskDetlLog>()
.eq("matnr", detl.getMatnr())
.eq("supp_code", detl.getStandby1())
.eq("order_no", detl.getOrderNo()));
- if (Objects.isNull(detlLog)) {
- throw new CoolException("鏁版嵁閿欒 锛岃妫�鏌GV浠诲姟妗f槸鍚﹀凡瀹屾垚锛侊紒");
+ if (Objects.isNull(taskDetlLog) || Objects.isNull(taskDetlLog.getAreaType())) {
+ orderParam.setTarget_location("2");
+// throw new CoolException("鏁版嵁閿欒 锛岃妫�鏌GV浠诲姟妗f槸鍚﹀凡瀹屾垚锛侊紒");
+ } else {
+ orderParam.setTarget_location(taskDetlLog.getAreaType());
}
-/* WrkDetlLog detlLog = wrkDetlLogService.selectOne(new EntityWrapper<WrkDetlLog>()
+ List<WrkDetlLog> detlLog = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>()
.eq("matnr", detl.getMatnr())
.eq("supp_code", detl.getStandby1())
.eq("order_no", detl.getOrderNo()));
- if (Objects.isNull(detlLog)) {
- throw new CoolException("鐗╂枡缂栫爜锛�" + detl.getMatnr() + "鏁版嵁閿欒 锛岃妫�鏌ュ爢鍨涙満浠诲姟妗f槸鍚﹀凡瀹屾垚锛侊紒");
- }*/
- //鐩爣搴撳尯
-// orderParam.setTarget_location("2");
- orderParam.setTarget_location(detlLog.getAreaType());
- OrderItemsParam itemParam = new OrderItemsParam();
- // BS Code
- itemParam
- // 涓婃姤鏃讹紝榛樿浜у搧绫诲瀷鏄痭ull
- .setPro_type(material.getProType())
- // 涓婃姤鏃讹紝榛樿浜у搧缂栫爜
- .setPro_komcode(detl.getMatnr())
- // 涓婃姤鏃讹紝榛樿浜у搧id鏄緵搴斿晢缂栫爜
- .setPro_id(detl.getSuppCode())
+ detlLog.forEach(item -> {
+ OrderItemsParam itemParam = new OrderItemsParam();
+ if (Objects.isNull(item)) {
+ itemParam.setLocation_no("LX99999999");
+ } else {
+ itemParam.setLocation_no(item.getZpallet());
+ }
+ itemParam
+ // 涓婃姤鏃讹紝榛樿浜у搧绫诲瀷鏄痭ull
+ .setPro_type(material.getProType())
+ // 涓婃姤鏃讹紝榛樿浜у搧缂栫爜
+ .setPro_komcode(detl.getMatnr())
+ // 涓婃姤鏃讹紝榛樿浜у搧id鏄緵搴斿晢缂栫爜
+ .setPro_id(detl.getSuppCode())
// // 涓婃姤鏃讹紝榛樿鏉ユ簮浣嶇疆鏄痭ull
- .setLocation_no(detlLog.getZpallet())
- // 涓婃姤鏃讹紝榛樿涓婃姤鏁伴噺鏄鍗曟暟閲�
- .setPick_qty(Objects.isNull(detl.getQty()) ? 0 : detl.getQty().intValue());
- reportOrderParams.add(itemParam);
+// .setLocation_no(detlLog.getZpallet())
+ // 涓婃姤鏃讹紝榛樿涓婃姤鏁伴噺鏄鍗曟暟閲�
+ .setPick_qty(item.getAnfme().intValue());
+// .setPick_qty(Objects.isNull(detl.getQty()) ? 0 : detl.getQty().intValue());
+ reportOrderParams.add(itemParam);
+ });
});
+ //鐩爣搴撳尯
+// orderParam.setTarget_location("2");
+ // BS Code
if (orderParam.getTarget_location().equals("2")) {
orderParam.setType("11");
} else if (orderParam.getTarget_location().equals("3")) {
@@ -438,26 +454,29 @@
try {
List<ReportOrderParam> orderParams = new ArrayList<>();
orderParams.add(orderParam);
+ log.info("娲惧伐鍗曞叆鍙�---------->{}", JSONArray.toJSONString(orderParams));
if (order.getReportOnce() < 4) {
response = kopenApiService.reportOutDetailsResult(orderParams, order);
- } else {
- return FAIL;
- }
- if (response.getSuccess()) {
- success = true;
- // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
- if (!orderService.updateSettle(order.getId(), settle, null)) {
- throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+ if (!Objects.isNull(response)) {
+ if (response.getSuccess()) {
+ success = true;
+ // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+ if (!orderService.updateSettle(order.getId(), settle, null)) {
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+ }
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}",
+ MesConstant.URL + MesConstant.OUT_DETAILS_RESULT,
+ JSON.toJSONString(orderParams), JSON.toJSONString(response));
+ throw new CoolException("涓婃姤KOPEN绯荤粺澶辫触");
+ }
+ } else {
+// return SUCCESS;
}
- } else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}",
- MesConstant.URL + MesConstant.OUT_DETAILS_RESULT,
- JSON.toJSONString(orderParams), JSON.toJSONString(response));
- throw new CoolException("涓婃姤KOPEN绯荤粺澶辫触");
}
} catch (Exception e) {
log.error("fail", e);
- return FAIL.setMsg(e.getMessage());
+// return FAIL.setMsg(e.getMessage());
} finally {
try {
// 淇濆瓨鎺ュ彛鏃ュ織
@@ -490,28 +509,30 @@
orderDetls.forEach(detl -> {
Mat material = matService.selectByMatnr(detl.getMatnr());
if (Objects.isNull(material)) {
- throw new CoolException(material.getMatnr() + "鐗╂枡涓嶅瓨鍦�");
+ throw new CoolException(material.getMatnr() + "鐗╂枡涓嶅瓨鍦�");
}
- TaskDetlLog detlLog = taskDetlLogService.selectOne(new EntityWrapper<TaskDetlLog>()
+ List<TaskDetlLog> detlLogs = taskDetlLogService.selectList(new EntityWrapper<TaskDetlLog>()
.eq("matnr", detl.getMatnr())
.eq("supp_code", detl.getStandby1())
.eq("order_no", detl.getOrderNo()));
- if (Objects.isNull(detlLog)) {
+ if (Objects.isNull(detlLogs) || detlLogs.isEmpty()) {
throw new CoolException("鏁版嵁閿欒 锛岃妫�鏌GV浠诲姟妗f槸鍚﹀凡瀹屾垚锛侊紒");
}
- OrderItemsParam itemParam = new OrderItemsParam();
- // 涓婃姤鏃讹紝榛樿浜у搧绫诲瀷鏄痭ull
- itemParam.setPro_type(material.getProType());
- // 涓婃姤鏃讹紝榛樿浜у搧缂栫爜
- itemParam.setPro_komcode(material.getMatnr());
- // 涓婃姤鏃讹紝榛樿浜у搧id鏄緵搴斿晢缂栫爜
- itemParam.setPro_id(detl.getSuppCode());
- //todo 鍙拌溅缂栫爜
- itemParam.setTruck_no(detlLog.getZpallet());
- // 涓婃姤鏃讹紝榛樿涓婃姤鏃堕棿鏄洿鏂版椂闂�
- itemParam.setPick_qty(detl.getQty().intValue());
+ detlLogs.forEach(detlLog -> {
+ OrderItemsParam itemParam = new OrderItemsParam();
+ // 涓婃姤鏃讹紝榛樿浜у搧绫诲瀷鏄痭ull
+ itemParam.setPro_type(material.getProType());
+ // 涓婃姤鏃讹紝榛樿浜у搧缂栫爜
+ itemParam.setPro_komcode(material.getMatnr());
+ // 涓婃姤鏃讹紝榛樿浜у搧id鏄緵搴斿晢缂栫爜
+ itemParam.setPro_id(detl.getSuppCode());
+ //todo 鍙拌溅缂栫爜
+ itemParam.setTruck_no(detlLog.getZpallet());
+ // 涓婃姤鏃讹紝榛樿涓婃姤鏃堕棿鏄洿鏂版椂闂�
+ itemParam.setPick_qty(detlLog.getAnfme().intValue());
- reportOrderParams.add(itemParam);
+ reportOrderParams.add(itemParam);
+ });
});
pubOrderParams.setPartList(reportOrderParams);
@@ -606,7 +627,7 @@
detls.forEach(detl -> {
Mat material = matService.selectByMatnr(detl.getMatnr());
if (Objects.isNull(material)) {
- throw new CoolException(material.getMatnr() + "鐗╂枡涓嶅瓨鍦�");
+ throw new CoolException(material.getMatnr() + "鐗╂枡涓嶅瓨鍦�");
}
OrderItemsParam itemParam = new OrderItemsParam();
itemParam.setLocation_no(detl.getZpallet())
@@ -633,4 +654,38 @@
}
+ @Transactional(rollbackFor = Exception.class)
+ public ReturnT<String> startConvertOrders(OrderPakout orderPakout) {
+ if (orderPakout.getSettle() != 4) {
+ return FAIL;
+ }
+ List<OrderDetlPakout> detlPakins = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderPakout.getOrderNo()));
+ if (!Objects.isNull(detlPakins) && !detlPakins.isEmpty()) {
+ detlPakins.forEach(detl -> {
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>()
+ .eq("matnr", detl.getMatnr())
+ .eq("supp_code", detl.getSuppCode())
+ .eq("order_no", detl.getOrderNo()));
+ if (!Objects.isNull(orderDetl)) {
+ orderDetl.setQty(detl.getQty());
+ orderDetl.setWorkQty(detl.getWorkQty());
+ if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>()
+ .eq("matnr", detl.getMatnr())
+ .eq("supp_code", detl.getSuppCode())
+ .eq("order_no", detl.getOrderNo()))) {
+ throw new CoolException("璁㈠崟淇℃伅鏇存柊澶辫触锛侊紒");
+ }
+ }
+ });
+
+ Order orderNo = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderPakout.getOrderNo()));
+ if (!Objects.isNull(orderNo)) {
+ orderNo.setSettle(4L);
+ if (!orderService.update(orderNo, new EntityWrapper<Order>().eq("order_no", orderPakout.getOrderNo()))) {
+ throw new CoolException("鍗曟嵁鐘舵�佹洿鏂板け璐ワ紒锛�");
+ }
+ }
+ }
+ return SUCCESS;
+ }
}
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index 9308366..1fbf211 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -5,6 +5,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.enums.TaskStatusType;
import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OrderPakinServiceImpl;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.OrderInAndOutUtil;
@@ -17,6 +18,7 @@
import java.util.Iterator;
import java.util.List;
+import java.util.Objects;
/**
* Created by vincent on 2020/7/6
@@ -47,6 +49,8 @@
private TaskDetlService taskDetlService;
@Autowired
private TaskDetlLogService taskDetlLogService;
+ @Autowired
+ private OrderPakinService orderPakinService;
@Transactional(rollbackFor = Exception.class)
public ReturnT<String> start(WrkMast wrkMast) {
@@ -59,10 +63,18 @@
WrkDetl wrkDetl = iterator.next();
if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
// orderService.checkComplete(wrkDetl.getOrderNo());
- if (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 8 || wrkMast.getIoType() == 54 || wrkMast.getIoType() == 104){
- OrderInAndOutUtil.checkComplete(Boolean.TRUE,wrkDetl.getOrderNo());
+ if (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 8 || wrkMast.getIoType() == 54 || wrkMast.getIoType() == 104) {
+ OrderInAndOutUtil.checkComplete(Boolean.TRUE, wrkDetl.getOrderNo());
} else {
- OrderInAndOutUtil.checkComplete(Boolean.FALSE,wrkDetl.getOrderNo());
+
+ OrderInAndOutUtil.checkComplete(Boolean.FALSE, wrkDetl.getOrderNo());
+
+ OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>()
+ .eq("order_no", wrkDetl.getOrderNo())
+ .in("doc_type", 7));
+ if (!Objects.isNull(orderPakin)) {
+ OrderInAndOutUtil.checkComplete(Boolean.TRUE, orderPakin.getOrderNo());
+ }
}
iterator.remove();
}
@@ -90,7 +102,7 @@
// exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
// }
// }
- // 鎷f枡鍐嶅叆搴�
+ // 鎷f枡鍐嶅叆搴�
} else if (wrkMast.getIoType() == 53) {
// //
// if (!Cools.isEmpty(wrkDetls)) {
@@ -100,7 +112,7 @@
// }
}
- // 鍑哄簱 --------------------------------------------------------------------------------
+ // 鍑哄簱 --------------------------------------------------------------------------------
} else if (wrkMast.getWrkSts() == 15) {
// if (!Cools.isEmpty(wrkDetls)) {
// if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
@@ -119,10 +131,13 @@
}
// 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
+ log.error("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
// exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
}
// 鍒犻櫎宸ヤ綔鏄庣粏妗�
if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
+ log.error("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+
// exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo());
}
} catch (Exception e) {
@@ -145,10 +160,10 @@
TaskDetl taskDetl = iterator.next();
if (!Cools.isEmpty(taskDetl.getOrderNo())) {
// orderService.checkComplete(wrkDetl.getOrderNo());
- if (task.getIoType() == 1 || task.getIoType() == 8 || task.getIoType() == 54 || task.getIoType() == 104){
- OrderInAndOutUtil.checkComplete(Boolean.TRUE,taskDetl.getOrderNo());
+ if (task.getIoType() == 1 || task.getIoType() == 8 || task.getIoType() == 54 || task.getIoType() == 104) {
+ OrderInAndOutUtil.checkComplete(Boolean.TRUE, taskDetl.getOrderNo());
} else {
- OrderInAndOutUtil.checkComplete(Boolean.FALSE,taskDetl.getOrderNo());
+ OrderInAndOutUtil.checkComplete(Boolean.FALSE, taskDetl.getOrderNo());
}
iterator.remove();
}
@@ -205,22 +220,26 @@
if (!taskService.deleteById(task)) {
exceptionHandle("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", task.getWrkNo());
}
+
+
List<TaskDetl> taskDetls2 = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
- for (TaskDetl taskDetl :taskDetls2){
+ for (TaskDetl taskDetl : taskDetls2) {
TaskDetlLog taskDetlLog = new TaskDetlLog();
BeanUtils.copyProperties(taskDetl, taskDetlLog);
taskDetlLog.setLogId(taskLog.getId());
taskDetlLog.setId(null);
// 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
if (!taskDetlLogService.insert(taskDetlLog)) {
- exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
+ log.error("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
+// exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
}
- // 鍒犻櫎宸ヤ綔鏄庣粏妗�
- if (!taskDetlService.deleteById(taskDetl)) {
- exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", task.getWrkNo());
- }
+ // 鍒犻櫎宸ヤ綔鏄庣粏
}
+ if (!taskDetlService.delete(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()))) {
+ log.error("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
+// exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", task.getWrkNo());
+ }
} catch (Exception e) {
log.error("fail", e);
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 4078f98..7afbf9d 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -68,6 +68,8 @@
private BasAreasService basAreasService;
@Autowired
private CommonService commonService;
+ @Autowired
+ private OrderPakoutService orderPakoutService;
public ReturnT<String> start(WrkMast wrkMast) {
// 4.鍏ュ簱瀹屾垚
@@ -152,9 +154,13 @@
locDetl = new LocDetl();
locDetl.sync(wrkDetl);
locDetl.setAreaId(locMast.getAreaId());
- locMast.setAreaName(locMast.getAreaName());
+ locDetl.setAreaName(locMast.getAreaName());
locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
+ locDetl.setBoxType1(wrkDetl.getBoxType1());
+ locDetl.setSuppCode(wrkDetl.getSuppCode());
+ locDetl.setThreeCode(wrkDetl.getThreeCode());
+ locDetl.setStandby1(wrkDetl.getSuppCode());
locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
locDetl.setModiTime(now);
locDetl.setAppeTime(now);
@@ -244,7 +250,11 @@
locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
locDetl.setAreaId(locMast.getAreaId());
- locMast.setAreaName(locMast.getAreaName());
+ locDetl.setAreaName(locMast.getAreaName());
+ locDetl.setBoxType1(wrkDetl.getBoxType1());
+ locDetl.setSuppCode(wrkDetl.getSuppCode());
+ locDetl.setThreeCode(wrkDetl.getThreeCode());
+ locDetl.setStandby1(wrkDetl.getSuppCode());
locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
locDetl.setModiTime(now);
locDetl.setAppeTime(now);
@@ -350,102 +360,83 @@
.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
if (wrkDetls54.isEmpty()) {
// exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
- + wrkMast.getLocNo() + "]");
- }
- // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧�
- for (WrkDetl wrkDetl : wrkDetls54) {
- LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
- wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
- wrkDetl.getBoxType3());
- if (null != locDetl) {
- if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
- wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(),
- wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
- // exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]",
- // wrkMast.getWrkNo(), wrkDetl.getMatnr());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
- + wrkMast.getLocNo() + "]");
- }
- } else {
- locDetl = new LocDetl();
- locDetl.sync(wrkDetl);
- locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
- locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
- locDetl.setAreaId(locMast.getAreaId());
- locMast.setAreaName(locMast.getAreaName());
- locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
- locDetl.setModiTime(now);
- locDetl.setAppeTime(now);
- if (!locDetlService.insert(locDetl)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
- + wrkMast.getLocNo() + "]");
- }
- }
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+// + wrkMast.getLocNo() + "]");
+ } else {
+ // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧�
+ for (WrkDetl wrkDetl : wrkDetls54) {
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+ .eq("supp_code", wrkDetl.getSuppCode())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("loc_no", locMast.getLocNo()));
+ if (null != locDetl) {
+ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ OrderDetlPakin detlPakin = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
+// .eq("three_code", wrkDetl.getThreeCode()) //TODO 骞舵澘鏃堕渶瑕佷慨鏀笲SCODE涓鸿鍗昩scode
+ .eq("supp_code", wrkDetl.getSuppCode())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("order_no", wrkDetl.getOrderNo()));
+ try {
+ if (!Cools.isEmpty(detlPakin)) {
+ double v = Math.round((wrkDetl.getAnfme() - locDetl.getAnfme()) * 10000) / 10000.0;
+ double v1 = Math.round((detlPakin.getQty() + v) * 10000) / 10000.0;
+ detlPakin.setQty(v1);
+ detlPakin.setWorkQty(v1);
+ detlPakin.setAdjustQty(wrkDetl.getAdjustQty());
+ detlPakin.setSplusQty(wrkDetl.getSplusQty());
+ if (!orderDetlPakinService.update(detlPakin, new EntityWrapper<OrderDetlPakin>()
+ .eq("matnr", detlPakin.getMatnr())
+ .eq("supp_code", detlPakin.getSuppCode())
+ .eq("order_no", detlPakin.getOrderNo()))) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
+ + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ }
-// OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", pakin.getOrderNo()));
-// if (Objects.isNull(orderPakin)) {
-// throw new CoolException("鏁版嵁閿欒锛岃鍗曚俊鎭笉瀛樺湪锛侊紒");
-// }
-//
-// if (!orderPakin.getDocType().equals(0)) {
-// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-// OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(),
-// pakin.getMatnr(), pakin.getBatch(), pakin.getBrand(), pakin.getStandby1(),
-// pakin.getStandby2(), pakin.getStandby3(),
-// pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3());
-// if (orderDetlPakin == null) {
-// orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(), pakin.getMatnr(),
-// pakin.getBatch(),
-// pakin.getBrand(), pakin.getStandby1(), pakin.getStandby2(),
-// pakin.getStandby3(),
-// pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3());
-// }
-// try {
-// if (!Cools.isEmpty(orderDetlPakin)) {
-// if (!orderDetlPakinService.increaseQtyByOrderNo(pakin.getOrderNo(),
-// pakin.getMatnr(),
-// orderDetlPakin.getBatch(), pakin.getBrand(), pakin.getStandby1(),
-// pakin.getStandby2(), pakin.getStandby3(),
-// pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3(),
-// pakin.getAnfme())) {
-// throw new CoolException("AGV鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
-// + "],[locNo=" + wrkMast.getLocNo() + "]");
-// }
-// }
-// } catch (Exception ignore) {
-//
-// }
-// }
+ LocDetl detl = new LocDetl();
+ detl.setAnfme(wrkDetl.getAnfme());
+ detl.setStandby1(wrkDetl.getSuppCode());
+ detl.setBoxType1(locDetl.getBoxType1());
+ detl.setOrderNo(wrkDetl.getOrderNo());
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(),
- wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
- wrkDetl.getStandby2(), wrkDetl.getStandby3(), "1",
- wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
- try {
- if (!Cools.isEmpty(orderDetlPakin)) {
- if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
- wrkDetl.getMatnr(),
- orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
- wrkDetl.getStandby2(), wrkDetl.getStandby3(),
- "1", wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
- wrkDetl.getAnfme())) {
+ if (!locDetlService.update(detl, new EntityWrapper<LocDetl>()
+ .eq("loc_no", locMast.getLocNo())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("supp_code", wrkDetl.getSuppCode()))) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
- + "],[locNo=" + wrkMast.getLocNo() + "]");
+ return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+ + wrkMast.getLocNo() + "]");
+ }
+
+ } else {
+ locDetl = new LocDetl();
+ locDetl.sync(wrkDetl);
+ locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
+ locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
+ locDetl.setAreaId(locMast.getAreaId());
+ locDetl.setAreaName(locMast.getAreaName());
+ locDetl.setBoxType1(wrkDetl.getBoxType1());
+ locDetl.setSuppCode(wrkDetl.getSuppCode());
+ locDetl.setThreeCode(wrkDetl.getThreeCode());
+ locDetl.setStandby1(wrkDetl.getSuppCode());
+ locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
+ locDetl.setModiTime(now);
+ locDetl.setAppeTime(now);
+ if (!locDetlService.insert(locDetl)) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+ + wrkMast.getLocNo() + "]");
}
}
- } catch (Exception ignore) {
-
}
}
+
// 淇敼搴撲綅鐘舵�� Q ====>> F
if (locMast.getLocSts().equals("Q")) {
locMast.setLocSts("F");
@@ -462,20 +453,24 @@
}
String agvSta = null;
- if (wrkMast.getIoType() == TaskIOType.MERGE_IN.type) {
+ if (wrkMast.getIoType().equals(TaskIOType.MERGE_IN.type)) {
agvSta = wrkMast.getPauseMk();
}
- // . 鍒犻櫎缂撳瓨绔欑偣鏄庣粏
- if (!Objects.isNull(agvSta)) {
- // 淇敼鐩爣绔欑偣淇℃伅
- BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", agvSta));
- if (Objects.isNull(station)) {
- throw new CoolException("绔欑偣涓嶅瓨鍦�!!");
- }
- basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
- station.setLocSts(LocStsType.LOC_STS_TYPE_D.type);
- if (!basStationService.updateById(station)) {
- throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�");
+ List<BasStationDetl> basStationDetls = basStationDetlService.selectList(new EntityWrapper<BasStationDetl>().eq("dev_no", agvSta));
+ if (Objects.isNull(basStationDetls) || basStationDetls.isEmpty()) {
+ // . 鍒犻櫎缂撳瓨绔欑偣鏄庣粏
+ if (!Objects.isNull(agvSta)) {
+ // 淇敼鐩爣绔欑偣淇℃伅
+ BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", agvSta));
+ if (Objects.isNull(station)) {
+ throw new CoolException("绔欑偣涓嶅瓨鍦�!!");
+ }
+ basStationDetlService.delete(new EntityWrapper<BasStationDetl>()
+ .eq("dev_no", station.getDevNo()));
+ station.setLocSts(LocStsType.LOC_STS_TYPE_D.type);
+ if (!basStationService.updateById(station)) {
+ throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�");
+ }
}
}
break;
@@ -484,34 +479,35 @@
// 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
List<WrkDetl> wrkDetls57 = wrkDetlService
.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
- if (wrkDetls57.isEmpty()) {
+ if (!wrkDetls57.isEmpty()) {
// exceptionHandle("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
- + wrkMast.getLocNo() + "]");
- }
- for (WrkDetl wrkDetl : wrkDetls57) {
- if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectById(wrkDetl.getOrderId());
- LocDetl locDetl = locDetlService.selectById(checkOrderDetl.getLocDetlId());
- BigDecimal oriAnfme = new BigDecimal(locDetl.getAnfme());
- locDetl.setAnfme(checkOrderDetl.getDiffQty()
- .compareTo(BigDecimal.ZERO) == 0
- || checkOrderDetl.getDiffQty()
- .compareTo(BigDecimal.ZERO) > 0
- ? oriAnfme.doubleValue()
- : oriAnfme.add(checkOrderDetl.getDiffQty()).doubleValue());
- locDetl.setBookQty(oriAnfme);
- locDetl.setDiffQty(checkOrderDetl.getDiffQty());
- if (!locDetlService.updateById(locDetl)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撳瓨宸紓鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
- + wrkMast.getLocNo() + "]");
+ for (WrkDetl wrkDetl : wrkDetls57) {
+ if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectById(wrkDetl.getOrderId());
+ if (!Objects.isNull(checkOrderDetl)) {
+ LocDetl locDetl = locDetlService.selectById(checkOrderDetl.getLocDetlId());
+ if (!Objects.isNull(locDetl)) {
+ BigDecimal oriAnfme = new BigDecimal(locDetl.getAnfme());
+ locDetl.setAnfme(checkOrderDetl.getDiffQty()
+ .compareTo(BigDecimal.ZERO) == 0
+ || checkOrderDetl.getDiffQty()
+ .compareTo(BigDecimal.ZERO) > 0
+ ? oriAnfme.doubleValue()
+ : oriAnfme.add(checkOrderDetl.getDiffQty()).doubleValue());
+ locDetl.setBookQty(oriAnfme);
+ locDetl.setDiffQty(checkOrderDetl.getDiffQty());
+ if (!locDetlService.updateById(locDetl)) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撳瓨宸紓鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+ + wrkMast.getLocNo() + "]");
+ }
+ }
+ }
}
-
}
}
+
// 淇敼搴撲綅鐘舵�� Q ====>> F
if (locMast.getLocSts().equals("Q")) {
locMast.setLocSts(wrkMast.getFullPlt().equals("Y") ? "F" : "D");
@@ -620,6 +616,7 @@
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+ wrkMast.getSourceLocNo() + "]");
}
+
for (WrkDetl wrkDetl : wrkDetls101) {
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
@@ -668,6 +665,10 @@
}
}
break;
+
+ case 104:
+
+ break;
case 103:
// List<WrkDetl> wrkDetls103 = wrkDetlService
// .selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
@@ -677,7 +678,7 @@
// return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
// + wrkMast.getSourceLocNo() + "]");
// }
-
+//
// for (WrkDetl wrkDetl : wrkDetls103) {
// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
// OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
@@ -819,14 +820,13 @@
*/
@Transactional(rollbackFor = Exception.class)
public ReturnT<String> agvDoOut(Task task) {
+ Date now = new Date();
LocCache locMast = locCacheService
.selectOne(new EntityWrapper<LocCache>().eq("loc_no", task.getSourceLocNo()));
- Date now = new Date();
-
+ if (Objects.isNull(locMast)) {
+ throw new RuntimeException("鏁版嵁閿欒锛氬簱浣嶄俊鎭笉鑳戒负绌猴紒锛�");
+ }
if (task.getIoType().equals(101)) {
- if (Objects.isNull(locMast)) {
- throw new RuntimeException("鏁版嵁閿欒锛氬簱浣嶄俊鎭笉鑳戒负绌猴紒锛�");
- }
List<TaskDetl> wrkDetls101 = taskDetlService
.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
if (wrkDetls101.isEmpty()) {
@@ -834,6 +834,7 @@
return FAIL.setMsg(
"鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]");
}
+
BasStation devNo = basStationService
.selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo()));
if (Objects.isNull(devNo)) {
@@ -847,31 +848,24 @@
}
for (TaskDetl wrkDetl : wrkDetls101) {
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
- wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
- wrkDetl.getStandby2(), wrkDetl.getStandby3(),
- wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
- if (orderDetlPakout == null) {
- orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
- wrkDetl.getStandby3(),
- wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
- }
- try {
- if (!Cools.isEmpty(orderDetlPakout)) {
- if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
- wrkDetl.getStandby2(), wrkDetl.getStandby3(),
- wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
- wrkDetl.getAnfme())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + task.getWrkNo() + "],[locNo="
- + task.getSourceLocNo() + "]");
+ // 鏇存柊澶囪揣鍑哄簱鍗曞畬鎴愭暟閲�
+ OrderPakout orderPakout = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("order_no", wrkDetl.getOrderNo()));
+ if (!Objects.isNull(orderPakout) && orderPakout.getDocType() == 5) {
+ try {
+ if (!Cools.isEmpty(orderPakout)) {
+ if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+ "1", wrkDetl.getBrand(), wrkDetl.getStandby1(),
+ wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+ wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+ wrkDetl.getAnfme())) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("澶囪揣鍑哄簱鍗� ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + task.getWrkNo() + "],[locNo="
+ + task.getSourceLocNo() + "]");
+ }
}
+ } catch (Exception ignore) {
+ log.error(ignore.getMessage(), ignore);
}
- } catch (Exception ignore) {
-
}
BasStationDetl stationDetl = new BasStationDetl();
@@ -882,6 +876,42 @@
throw new CoolException("绔欑偣鏄庣粏淇濆瓨澶辫触锛侊紒");
}
}
+// for (TaskDetl wrkDetl : wrkDetls101) {
+// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+// OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
+// wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+// wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+// wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+// if (orderDetlPakout == null) {
+// orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+// wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
+// wrkDetl.getStandby3(),
+// wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+// }
+// try {
+// if (!Cools.isEmpty(orderDetlPakout)) {
+// if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+// orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+// wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+// wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+// wrkDetl.getAnfme())) {
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + task.getWrkNo() + "],[locNo="
+// + task.getSourceLocNo() + "]");
+// }
+// }
+// } catch (Exception ignore) {
+//
+// }
+//
+// BasStationDetl stationDetl = new BasStationDetl();
+// BeanUtils.copyProperties(wrkDetl, stationDetl);
+// stationDetl.setDevNo(devNo.getDevNo())
+// .setOrderNo(wrkDetl.getOrderNo());
+// if (!basStationDetlService.insert(stationDetl)) {
+// throw new CoolException("绔欑偣鏄庣粏淇濆瓨澶辫触锛侊紒");
+// }
+// }
// 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", task.getSourceLocNo()))) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -889,12 +919,12 @@
"鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + task.getWrkNo() + "],[locNo=" + task.getSourceLocNo() + "]");
}
// 淇敼婧愬簱浣嶇姸鎬� R ===>> O
- if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type)) {
+ if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type) || locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_P.type)) {
locMast.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
locMast.setBarcode("");
locMast.setModiTime(now);
locMast.setIoTime(now);
- if (!locCacheService.updateById(locMast)) {
+ if (!locCacheService.update(locMast, new EntityWrapper<LocCache>().eq("loc_no", locMast.getLocNo()))) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + task.getWrkNo() + "],[locNo="
+ task.getSourceLocNo() + "]");
@@ -908,24 +938,19 @@
throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
} else if (task.getIoType().equals(110)) {
- if (Objects.isNull(locMast)) {
- throw new RuntimeException("鏁版嵁閿欒锛氬簱浣嶄俊鎭笉鑳戒负绌猴紒锛�");
- }
// 淇敼婧愬簱浣嶇姸鎬� R ===>> O
if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type)) {
locMast.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
locMast.setBarcode("");
locMast.setModiTime(now);
locMast.setIoTime(now);
- if (!locCacheService.updateById(locMast)) {
+
+ if (!locCacheService.update(locMast, new EntityWrapper<LocCache>().eq("loc_no", locMast.getLocNo()))) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + task.getWrkNo() + "],[locNo="
+ task.getSourceLocNo() + "]");
}
- } else {
- throw new CoolException("褰撳墠搴撲綅鐘舵��" + locMast.getLocSts() + ", 鏃犳硶鎵ц鍑哄簱鎿嶄綔锛侊紒");
}
-
BasStation devNo = basStationService
.selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo()));
if (Objects.isNull(devNo)) {
@@ -948,75 +973,122 @@
return FAIL.setMsg("鎷f枡鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + task.getWrkNo() + "],[locNo="
+ task.getSourceLocNo() + "]");
}
- for (TaskDetl wrkDetl : wrkDetls103) {
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- OrderDetlPakout orderDetlPakout = orderDetlPakoutService.
- selectOne(new EntityWrapper<OrderDetlPakout>()
- .eq("matnr", wrkDetl.getMatnr())
- .eq("supp_code", wrkDetl.getSuppCode())
- .eq("order_no", wrkDetl.getOrderNo()));
- try {
- if (!Cools.isEmpty(orderDetlPakout)) {
- if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
- wrkDetl.getMatnr(),
- orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
- wrkDetl.getStandby2(), wrkDetl.getStandby3(),
- wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
- wrkDetl.getAnfme())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鎷f枡鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + task.getWrkNo()
- + "],[locNo=" + task.getSourceLocNo() + "]");
- }
- }
- //TODO 淇敼绔欑偣鐘舵�侀绾︾洰鏍囧簱浣�,浠ュ強绔欑偣搴撲綅淇℃伅
- LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
- .eq("matnr", wrkDetl.getMatnr())
- .eq("supp_code", wrkDetl.getSuppCode())
- .eq("loc_no", task.getSourceLocNo()));
- if (Objects.isNull(locDetl) ) {
- throw new CoolException("搴撳瓨鏁版嵁閿欒锛岃鑱旂郴绠$悊鍛橈紒锛�");
- }
- Double sulp = Math.round((locDetl.getAnfme() - wrkDetl.getAnfme()) * 10000) / 10000.0;
- locDetl.setAnfme(sulp);
- if (!locDetlService.update(locDetl, new EntityWrapper<LocDetl>().eq("loc_no", locDetl.getLocNo())
- .eq("matnr", locDetl.getMatnr())
- .eq("supp_code", locDetl.getSuppCode()))) {
- return FAIL.setMsg("鎷f枡鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + task.getWrkNo()
- + "],[locNo=" + task.getSourceLocNo() + "]");
- }
- } catch (Exception ignore) {
- log.error(ignore.getMessage());
- }
- }
+// for (TaskDetl wrkDetl : wrkDetls103) {
+// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+// OrderDetlPakout orderDetlPakout = orderDetlPakoutService.
+// selectOne(new EntityWrapper<OrderDetlPakout>()
+// .eq("matnr", wrkDetl.getMatnr())
+// .eq("supp_code", wrkDetl.getSuppCode())
+// .eq("order_no", wrkDetl.getOrderNo()));
+// try {
+// if (!Cools.isEmpty(orderDetlPakout)) {
+// if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
+// wrkDetl.getMatnr(),
+// orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
+// wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+// wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
+// wrkDetl.getAnfme())) {
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg("鎷f枡鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + task.getWrkNo()
+// + "],[locNo=" + task.getSourceLocNo() + "]");
+// }
+// }
+// //TODO 淇敼绔欑偣鐘舵�侀绾︾洰鏍囧簱浣�,浠ュ強绔欑偣搴撲綅淇℃伅
+// LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+// .eq("matnr", wrkDetl.getMatnr())
+// .eq("supp_code", wrkDetl.getSuppCode())
+// .eq("loc_no", task.getSourceLocNo()));
+// if (Objects.isNull(locDetl) ) {
+// throw new CoolException("搴撳瓨鏁版嵁閿欒锛岃鑱旂郴绠$悊鍛橈紒锛�");
+// }
+// Double sulp = Math.round((locDetl.getAnfme() - wrkDetl.getAnfme()) * 10000) / 10000.0;
+// locDetl.setAnfme(sulp);
+// if (!locDetlService.update(locDetl, new EntityWrapper<LocDetl>().eq("loc_no", locDetl.getLocNo())
+// .eq("matnr", locDetl.getMatnr())
+// .eq("supp_code", locDetl.getSuppCode()))) {
+// return FAIL.setMsg("鎷f枡鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + task.getWrkNo()
+// + "],[locNo=" + task.getSourceLocNo() + "]");
+// }
+// } catch (Exception ignore) {
+// log.error(ignore.getMessage());
+// }
+// }
+
+// if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_P.type) || locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type)) {
+// locMast.setLocSts(LocStsType.LOC_STS_TYPE_S.type);
+// locMast.setBarcode("");
+// locMast.setModiTime(now);
+// locMast.setIoTime(now);
+// if (!locCacheService.updateById(locMast)) {
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg("鎷f枡鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + task.getWrkNo() + "],[locNo="
+// + task.getSourceLocNo() + "]");
+// }
+// } else {
+// throw new CoolException("褰撳墠搴撲綅鐘舵��" + locMast.getLocSts() + ", 鏃犳硶鎵ц鍑哄簱鎿嶄綔锛侊紒");
+// }
+//
+// BasStation basStation = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getStaNo()));
+// // 淇敼婧愬簱浣嶇姸鎬� R ===>> O
+// if (basStation.getLocSts().equals(LocStsType.LOC_STS_TYPE_F.type) || basStation.getLocSts().equals(LocStsType.LOC_STS_TYPE_P.type)) {
+// basStation.setLocSts(LocStsType.LOC_STS_TYPE_R.type);
+// basStation.setBarcode("");
+// basStation.setModiTime(now);
+// basStation.setIoTime(now);
+// if (!basStationService.updateById(basStation)) {
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg("鎷f枡鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + task.getWrkNo() + "],[locNo="
+// + task.getSourceLocNo() + "]");
+// }
+// } else {
+// throw new CoolException("褰撳墠搴撲綅鐘舵��" + basStation.getLocSts() + ", 鏃犳硶鎵ц鍑哄簱鎿嶄綔锛侊紒");
+// }
+// Task task1 = new Task();
// int workNo = commonService.getWorkNo(0);
- task.setIoType(task.getIoType() - 50);
- task.setLocNo(task.getSourceLocNo());
- task.setWrkSts(TaskStatusType.AGV_IN_START.type);
-
- if (!taskService.update(task, new EntityWrapper<Task>().eq("wrk_no", task.getWrkNo()))) {
- throw new CoolException("浠诲姟鎷h揣瀹屾垚鐘舵�佹洿鏂板け璐ワ紒锛�");
- }
-
- // 淇敼婧愬簱浣嶇姸鎬� R ===>> O
- if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_R.type)) {
- locMast.setLocSts(LocStsType.LOC_STS_TYPE_S.type);
- locMast.setBarcode("");
- locMast.setModiTime(now);
- locMast.setIoTime(now);
- if (!locCacheService.updateById(locMast)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鎷f枡鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + task.getWrkNo() + "],[locNo="
- + task.getSourceLocNo() + "]");
- }
- } else {
- throw new CoolException("褰撳墠搴撲綅鐘舵��" + locMast.getLocSts() + ", 鏃犳硶鎵ц鍑哄簱鎿嶄綔锛侊紒");
- }
+// task1.setWrkNo(workNo);
+// task1.setIoType(task.getIoType() - 50);
+// task1.setLocNo(task.getSourceLocNo());
+// task1.setIsNewIn("M1");
+// task1.setSourceStaNo(task.getStaNo());
+// task1.setWrkSts(TaskStatusType.AGV_IN_START.type);
+//
+// if (!taskService.insert(task1)) {
+// throw new CoolException("鎷h揣鍏ュ簱浠诲姟鐢熸垚澶辫触锛侊紒");
+// }
+//
+// List<TaskDetl> taskDetls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
+// taskDetls.forEach(detl -> {
+// detl.setWrkNo(task1.getWrkNo());
+// if (!taskDetlService.update(detl, new EntityWrapper<TaskDetl>().eq("wrk_no", detl.getWrkNo()))) {
+// throw new CoolException("浠诲姟鏄庣粏淇敼澶辫触锛侊紒");
+// }
+// });
+// task.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_OUT.type);
+// if (!taskService.updateById(task)) {
+// throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+// }
}
return SUCCESS;
}
@Transactional(rollbackFor = Exception.class)
public ReturnT<String> agvDoIn(Task wrkMast) {
+ if (wrkMast.getIsNewIn().equals("XM1")) {
+ wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type);
+ wrkMast.setModiTime(new Date());
+ if (!taskService.updateById(wrkMast)) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ return SUCCESS;
+ }
+ if (wrkMast.getTaskType().equals("agv_back")) {
+ wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type);
+ wrkMast.setModiTime(new Date());
+ if (!taskService.updateById(wrkMast)) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ return SUCCESS;
+ }
LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getLocNo()));
if (!Objects.isNull(wrkMast.getSourceStaNo())) {
BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>()
@@ -1028,8 +1100,10 @@
}
station.setBarcode("");
if (!basStationService.updateById(station)) {
- basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
+ throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
+
+ basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
}
}
@@ -1110,7 +1184,8 @@
locCache.setBarcode(wrkMast.getBarcode());
locCache.setModiTime(new Date());
locCache.setIoTime(new Date());
- if (!locCacheService.updateById(locCache)) {
+
+ if (!locCacheService.update(locCache, new EntityWrapper<LocCache>().eq("loc_no", locCache.getLocNo()))) {
throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒");
}
wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type);
@@ -1137,81 +1212,89 @@
// 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
List<TaskDetl> wrkDetls53 = taskDetlService
.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkMast.getWrkNo()));
- if (wrkDetls53.isEmpty()) {
- // exceptionHandle("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
- + wrkMast.getLocNo() + "]");
- }
+
for (TaskDetl wrkDetl : wrkDetls53) {
- LocDetl locDetl = locDetlService.selectItem(locCache.getLocNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
- wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
- wrkDetl.getBoxType3());
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+ .eq("supp_code", wrkDetl.getSuppCode())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("loc_no", wrkMast.getLocNo()));
+
if (null != locDetl) {
- if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locCache.getLocNo(),
- wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
- wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(),
- wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
- // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
- // wrkMast.getWrkNo(), wrkMast.getLocNo());
+ Double v = Math.round((locDetl.getAnfme() - wrkDetl.getAnfme()) * 10000) / 10000.0;
+ locDetl.setBoxType1(wrkDetl.getBoxType1());
+ locDetl.setOrderNo(wrkDetl.getOrderNo());
+ locDetl.setStandby1(wrkDetl.getSuppCode());
+ locDetl.setAnfme(v);
+
+ if (v.compareTo(0.0) == 0) {
+ if (!locDetlService.delete(new EntityWrapper<LocDetl>()
+ .eq("supp_code", wrkDetl.getSuppCode())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("loc_no", wrkMast.getLocNo()))) {
+ return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+ + wrkMast.getLocNo() + "]");
+ }
+ } else {
+ if (!locDetlService.update(locDetl, new EntityWrapper<LocDetl>()
+ .eq("supp_code", wrkDetl.getSuppCode())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("loc_no", wrkMast.getLocNo()))) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+ + wrkMast.getLocNo() + "]");
+ }
+ }
+ }
+
+ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ OrderDetlPakout orderDetlPakout = orderDetlPakoutService
+ .selectOne(new EntityWrapper<OrderDetlPakout>()
+ .eq("order_no", wrkDetl.getOrderNo())
+ .eq("supp_code", wrkDetl.getSuppCode())
+ .eq("matnr", wrkDetl.getMatnr()));
+
+ if (!Cools.isEmpty(orderDetlPakout)) {
+ double v = Math.round((orderDetlPakout.getQty() + wrkDetl.getAnfme()) * 10000) / 10000.0;
+ orderDetlPakout.setQty(v);
+
+ if (!orderDetlPakoutService.update(orderDetlPakout, new EntityWrapper<OrderDetlPakout>()
+ .eq("order_no", wrkDetl.getOrderNo())
+ .eq("supp_code", wrkDetl.getSuppCode())
+ .eq("matnr", wrkDetl.getMatnr()))) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+ wrkMast.getLocNo() + "]");
}
}
-
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(),
- wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),
- wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
- wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
- if (orderDetlPakout == null) {
- orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
- wrkDetl.getStandby2(), wrkDetl.getStandby3(),
- wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
- }
- try {
- if (!Cools.isEmpty(orderDetlPakout)) {
- if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(),
- wrkDetl.getMatnr(),
- orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(),
- wrkDetl.getStandby2(), wrkDetl.getStandby3(),
- wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(),
- wrkDetl.getAnfme())) {
- // exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
- // wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
- + "],[locNo=" + wrkMast.getLocNo() + "]");
- }
- }
- } catch (Exception ignore) {
- }
-
}
Date now = new Date();
- // 淇敼搴撲綅鐘舵�� Q ====>> F
- if (locCache.getLocSts().equals("Q")) {
- locCache.setLocSts("F");
- locCache.setBarcode(wrkMast.getBarcode());
- locCache.setIoTime(now);
- locCache.setModiTime(now);
- if (!locCacheService.updateById(locCache)) {
- // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]",
- // wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
- + wrkMast.getLocNo() + "]");
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+ .eq("loc_no", locCache.getLocNo()));
+ if (Objects.isNull(locDetls) || locDetls.isEmpty()) {
+ locCache.setLocSts("D");
+ } else {
+ Double sum = locDetls.stream().mapToDouble(LocDetl::getAnfme).sum();
+ if (sum.compareTo(0.0) == 0) {
+ locCache.setLocSts("D");
+ } else {
+ // 淇敼搴撲綅鐘舵�� Q ====>> F
+ locCache.setLocSts("F");
}
}
-
+ locCache.setBarcode(wrkMast.getBarcode());
+ locCache.setIoTime(now);
+ locCache.setModiTime(now);
+ if (!locCacheService.update(locCache, new EntityWrapper<LocCache>().eq("loc_no", locCache.getLocNo()))) {
+ // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]",
+ // wrkMast.getWrkNo(), wrkMast.getLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo="
+ + wrkMast.getLocNo() + "]");
+ }
// 淇敼宸ヤ綔涓绘。鐘舵��
wrkMast.setWrkSts(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type);
wrkMast.setModiTime(now);
if (!taskService.updateById(wrkMast)) {
- // exceptionHandle("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL
.setMsg("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
diff --git a/src/main/java/com/zy/common/constant/MesConstant.java b/src/main/java/com/zy/common/constant/MesConstant.java
index bbc7967..bb44ee5 100644
--- a/src/main/java/com/zy/common/constant/MesConstant.java
+++ b/src/main/java/com/zy/common/constant/MesConstant.java
@@ -7,16 +7,16 @@
//灏忕郴缁熸帴鍙e湴鍧�
// public static final String URL = "http://webservice.kopen.com.cn:1482/kc-api/api/wms/ ";
- public static final String URL = "http://10.143.23.26:1482/kc-api/api/wms/ ";
+ public static final String URL = "http://10.143.23.25:1483/kc-api/api/wms/ ";
//AGV鎷夊彛鍦板潃
public static final String AGV_URL = "http://192.168.238.202/rcs/rtas/api/robot/controller";
//WCS绯荤粺鎺ュ彛鍦板潃
- public static final String WCS_URL = "http://192.168.238.32:9090/wcs";
-
// public static final String WCS_URL = "http://192.168.238.31:9090/wcs";
+ public static final String WCS_URL = "http://192.168.238.31:9090/wcs";
+
//涓婃灦娲惧伐鍗曞弽棣�
public static final String IN_DISPATCH_RESULT = "getInDispatchResult";
//澶囪揣鎸囩ず娲惧伐鍗曞弽棣�
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index 244b9a1..a70fa6c 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -28,6 +28,8 @@
private String boxType2 = "1";
private String boxType3 = "1";
+ private String suppCode;
+
private String orderNo;
private Double anfme;
diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java
index b85c000..f8dc606 100644
--- a/src/main/java/com/zy/common/model/TaskDto.java
+++ b/src/main/java/com/zy/common/model/TaskDto.java
@@ -65,6 +65,31 @@
return false;
}
+ public static boolean hasAgv(List<TaskDto> list, TaskDto dto) {
+ if (Cools.isEmpty(list)) {
+ return false;
+ }
+ for (TaskDto taskDto : list) {
+ if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getAgvStaNo().equals(dto.getAgvStaNo())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+
+ public static TaskDto findAgv(List<TaskDto> list, TaskDto dto) {
+ if (Cools.isEmpty(list)) {
+ return null;
+ }
+ for (TaskDto taskDto : list) {
+ if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getAgvStaNo().equals(dto.getAgvStaNo())) {
+ return taskDto;
+ }
+ }
+ return null;
+ }
+
public static TaskDto find(List<TaskDto> list, TaskDto dto) {
if (Cools.isEmpty(list)) {
return null;
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 55cf2e3..0810c88 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -202,13 +202,27 @@
}
StartupDto startupDto = new StartupDto();
- locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+
+// new EntityWrapper<LocMast>(new EntityWrapper<LocMast>()
+// .ge("row1", rowLastno.getsRow())
+// .le("row1", rowLastno.geteRow())
+// .eq("crn_no", crnNo)
+// .eq("loc_type1", locTypeDto.getLocType1())
+// .eq("loc_sts", "O")
+// .orderAsc(Arrays.asList("lev1", "row1", "bay1")))
+
+ Wrapper<LocMast> wrapper = new EntityWrapper<LocMast>()
.ge("row1", rowLastno.getsRow())
.le("row1", rowLastno.geteRow())
- .eq("crn_no", crnNo)
.eq("loc_type1", locTypeDto.getLocType1())
.eq("loc_sts", "O")
- .orderAsc(Arrays.asList("lev1", "row1", "bay1")));
+ .orderAsc(Arrays.asList( "row1", "lev1", "bay1"));
+
+ if (locTypeDto.getLocType1() != 2) {
+ wrapper.eq("crn_no", crnNo);
+ }
+
+ locMast = locMastService.selectOne(wrapper);
// int crnCountO = wrkMastService.selectCount(new
// EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100));
// 鐢熸垚宸ヤ綔鍙�
diff --git a/src/main/resources/mapper/OrderDetlPakoutMapper.xml b/src/main/resources/mapper/OrderDetlPakoutMapper.xml
index bcbd878..06de570 100644
--- a/src/main/resources/mapper/OrderDetlPakoutMapper.xml
+++ b/src/main/resources/mapper/OrderDetlPakoutMapper.xml
@@ -56,13 +56,7 @@
</resultMap>
<sql id="standbyAll">
- and batch = #{batch}
- and brand = #{brand}
and standby1 = #{standby1}
- and standby2 = #{standby2}
- and standby3 = #{standby3}
- and box_type2 = #{boxType2}
- and box_type3 = #{boxType3}
</sql>
<sql id="standbyAllMemo">
-- and line_number = #{lineNumber}
diff --git a/src/main/resources/mapper/TaskMapper.xml b/src/main/resources/mapper/TaskMapper.xml
index 0006c2d..350da64 100644
--- a/src/main/resources/mapper/TaskMapper.xml
+++ b/src/main/resources/mapper/TaskMapper.xml
@@ -9,7 +9,7 @@
</resultMap>
<select id="selectToBeCompleteData" resultType="com.zy.asrs.entity.Task">
- select * from agv_task where ((wrk_sts = 204 Or wrk_sts = 304 ) and io_type != 103 and io_type != 104 and io_type != 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,error_time,io_time,wrk_no
+ select * from agv_task where ((wrk_sts = 204 Or wrk_sts = 304 ) and io_type != 104 and io_type != 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,error_time,io_time,wrk_no
</select>
--
Gitblit v1.9.1