From 3eee2147f220634b620b7ed84c97fbd8257205d5 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期二, 13 一月 2026 13:21:44 +0800
Subject: [PATCH] 修改了AGV的接口以及mas获取的数据
---
src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java | 36 ++
src/main/resources/mapper/ViewDigitalTwinMapper.xml | 82 +++---
src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java | 4
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 5
src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 8
src/main/java/com/zy/common/model/TaskDto.java | 6
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 10
src/main/java/com/zy/asrs/controller/DigitalTwinController.java | 100 +------
src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java | 8
src/main/java/com/zy/asrs/controller/MobileController.java | 8
src/main/java/com/zy/common/web/WcsController.java | 2
src/main/java/com/zy/asrs/entity/digitaltwin/DtDetainMatVo.java | 1
src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java | 12
src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java | 170 +++++++++++++
src/main/java/com/zy/asrs/entity/digitaltwin/DtEquipmentVo.java | 4
src/main/java/com/zy/asrs/entity/mes/MesReturn.java | 4
src/main/java/com/zy/asrs/service/DigitalTwinService.java | 2
src/main/resources/application-dev.yml | 5
src/main/resources/mapper/LocCountMapper.xml | 15
src/main/java/com/zy/asrs/controller/OutController.java | 23 +
src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java | 170 ++++++++-----
src/main/java/com/zy/asrs/mapper/DigitalTwinMapper.java | 11
src/main/java/com/zy/asrs/service/OrderPakoutService.java | 5
23 files changed, 439 insertions(+), 252 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
index 5bfbd16..628091d 100644
--- a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
+++ b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
@@ -89,19 +89,6 @@
@RequestParam(required = false) String endDate){
List<DtLocVo> locVoList = digitalTwinService.recentLoc(areaId, startDate, endDate);
-
-// DtLocVo dtLocVo = DtLocVo.builder()
-// .locDate("2025-10-22")
-// .idleNum(208)
-// .build();
-// DtLocVo dtLocVo2 = DtLocVo.builder()
-// .locDate("2025-10-23")
-// .idleNum(177)
-// .build();
-// List<DtLocVo> locVoList = new ArrayList<>();
-// locVoList.add(dtLocVo);
-// locVoList.add(dtLocVo2);
-
return R.ok().add(locVoList);
}
@@ -120,8 +107,7 @@
@RequestParam(required = false) String endDate){
List<DtInAndOutBoundVo> inAndOutBoundVoList = digitalTwinService.inAndOutBound(areaId, startDate, endDate);
-
-
+//
// DtInAndOutBoundVo dtInAndOutBoundVo = DtInAndOutBoundVo.builder()
// .boundDate("2025-10-22")
// .inBoundNum(237)
@@ -154,31 +140,6 @@
@RequestParam(required = false) Integer pageSize){
List<DtDetainMatVo> detainMatVoList = digitalTwinService.recentDetainMat(areaId, overDayNum, pageIndex, pageSize);
-
-// DtDetainMatVo dtDetainMatVo = DtDetainMatVo.builder()
-// .belongAreaId("A1")
-// .belongAreaName("鍒�鍏峰簱")
-// .matId("mat10001")
-// .matName("閬撳叿鎶�")
-// .lokId("loc1001")
-// .lokName("搴撲綅10001")
-// .detainTime(765)
-// .inBoundTime("2025-10-11T11:15:16")
-// .build();
-// DtDetainMatVo dtDetainMatVo2 = DtDetainMatVo.builder()
-// .belongAreaId("A1")
-// .belongAreaName("鍒�鍏峰簱")
-// .matId("mat10002")
-// .matName("閬撳叿鎶�")
-// .lokId("loc1002")
-// .lokName("搴撲綅10002")
-// .detainTime(665)
-// .inBoundTime("2025-10-10T11:15:16")
-// .build();
-// List<DtDetainMatVo> detainMatVoList = new ArrayList<>();
-// detainMatVoList.add(dtDetainMatVo);
-// detainMatVoList.add(dtDetainMatVo2);
-
return R.ok().add(detainMatVoList);
}
@@ -192,35 +153,7 @@
// @ManagerAuth
public R equipment(@RequestParam(required = false) String areaId){
- DtEquipmentVo dtDetainMatVo = DtEquipmentVo.builder()
- .equipmentId("eq1001")
- .equipmentName("鍫嗗灈鏈�1")
- .equipmentType(1)
- .belongAreaId("A1")
- .belongAreaName("鍒�鍏峰簱")
- .verticalSpeed(288)
- .horizontalSpeed(203)
- .voltage(48)
- .status(1)
- .operateMethod(1)
- .build();
- DtEquipmentVo dtDetainMatVo2 = DtEquipmentVo.builder()
- .equipmentId("eq1002")
- .equipmentName("鍫嗗灈鏈�2")
- .equipmentType(1)
- .belongAreaId("A1")
- .belongAreaName("鍒�鍏峰簱")
- .verticalSpeed(208)
- .horizontalSpeed(253)
- .voltage(48)
- .status(1)
- .operateMethod(1)
- .build();
- List<DtEquipmentVo> dtEquipmentVoList = new ArrayList<>();
- dtEquipmentVoList.add(dtDetainMatVo);
- dtEquipmentVoList.add(dtDetainMatVo2);
-
- return R.ok().add(dtEquipmentVoList);
+ return R.ok(digitalTwinService.equipment(areaId));
}
/**
@@ -232,10 +165,8 @@
@RequestMapping(value = "/warehouseDetail")
// @ManagerAuth
public R warehouseDetail(@RequestParam(required = false) String areaId){
- List<DtLocDetailVo> dtLocDetailVoList = digitalTwinService.warehouseDetail(areaId);
- return R.ok().add(dtLocDetailVoList);
- }
+ return R.ok(digitalTwinService.warehouseDetail(areaId));
// List<DtLocDetailVo> dtLocDetailVoList = new ArrayList<>();
// DtLocDetailVo dtLocDetailVo = new DtLocDetailVo();
// dtLocDetailVo.setLocNo("CA0100202");
@@ -289,17 +220,20 @@
// locDetl2.setMaktx("鍒�鎶�");
// dtLocDetailVo2.setLocDetl(locDetl2);
// dtLocDetailVoList.add(dtLocDetailVo2);
+
+
+// LocDetl locDetl2 = new LocDetl();
+// locDetl2.setLocNo("1001");
+// locDetl2.setAreaId(10010L);
+// locDetl2.setAreaName("鍒�鍏峰簱");
+// locDetl2.setMatnr("mat10001");
+// locDetl2.setMaktx("鍒�鎶�");
//
-//
-//// LocDetl locDetl2 = new LocDetl();
-//// locDetl2.setLocNo("1001");
-//// locDetl2.setAreaId(10010L);
-//// locDetl2.setAreaName("鍒�鍏峰簱");
-//// locDetl2.setMatnr("mat10001");
-//// locDetl2.setMaktx("鍒�鎶�");
-////
-////// List<LocDetl> locDetlList = new ArrayList<>();
-////// locDetlList.add(locDetl);
-////// locDetlList.add(locDetl2);
+//// List<LocDetl> locDetlList = new ArrayList<>();
+//// locDetlList.add(locDetl);
+//// locDetlList.add(locDetl2);
+
+// return R.ok().add(dtLocDetailVoList);
+ }
}
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 06df109..0a4fad1 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -644,9 +644,7 @@
break;
}
}
- if (boo) {
- settle.remove(orderPakin);
- }else {
+ if (!boo) {
list.add(orderPakin.getOrderNo());
}
}else {
@@ -670,9 +668,7 @@
break;
}
}
- if (boo) {
- settle.remove(orderPakout);
- }else {
+ if (!boo) {
list.add(orderPakout.getOrderNo());
}
}else {
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index ee83f6d..5ace63f 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -12,6 +12,7 @@
import com.zy.common.model.TaskDto;
import com.zy.common.web.BaseController;
import lombok.Synchronized;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -27,6 +28,7 @@
*/
@RestController
+@Slf4j
public class OutController extends BaseController {
@Autowired
@@ -379,16 +381,17 @@
}
}
if (issued > 0) {
- LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
- locDto.setBrand(orderDetl.getBrand());
- locDto.setStandby1(orderDetl.getStandby1());
- locDto.setStandby2(orderDetl.getStandby2());
- locDto.setStandby3(orderDetl.getStandby3());
- locDto.setBoxType1(orderDetl.getBoxType1());
- locDto.setBoxType2(orderDetl.getBoxType2());
- locDto.setBoxType3(orderDetl.getBoxType3());
- locDto.setLack(Boolean.TRUE);
- locDtos.add(locDto);
+// LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
+// locDto.setBrand(orderDetl.getBrand());
+// locDto.setStandby1(orderDetl.getStandby1());
+// locDto.setStandby2(orderDetl.getStandby2());
+// locDto.setStandby3(orderDetl.getStandby3());
+// locDto.setBoxType1(orderDetl.getBoxType1());
+// locDto.setBoxType2(orderDetl.getBoxType2());
+// locDto.setBoxType3(orderDetl.getBoxType3());
+// locDto.setLack(Boolean.TRUE);
+// locDtos.add(locDto);
+ return R.error("搴撳瓨涓嶈冻");
}
}
R pakout = pakout(locDtos);
diff --git a/src/main/java/com/zy/asrs/entity/digitaltwin/DtDetainMatVo.java b/src/main/java/com/zy/asrs/entity/digitaltwin/DtDetainMatVo.java
index 29129c9..7890539 100644
--- a/src/main/java/com/zy/asrs/entity/digitaltwin/DtDetainMatVo.java
+++ b/src/main/java/com/zy/asrs/entity/digitaltwin/DtDetainMatVo.java
@@ -5,7 +5,6 @@
// 鏁板瓧瀛敓锛氬憜婊炲搧淇℃伅
@Data
-@Builder
public class DtDetainMatVo {
// 褰掑睘搴撳尯ID
diff --git a/src/main/java/com/zy/asrs/entity/digitaltwin/DtEquipmentVo.java b/src/main/java/com/zy/asrs/entity/digitaltwin/DtEquipmentVo.java
index 67d9fe7..ca04694 100644
--- a/src/main/java/com/zy/asrs/entity/digitaltwin/DtEquipmentVo.java
+++ b/src/main/java/com/zy/asrs/entity/digitaltwin/DtEquipmentVo.java
@@ -1,10 +1,14 @@
package com.zy.asrs.entity.digitaltwin;
+import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
+import lombok.NoArgsConstructor;
@Data
@Builder
+@AllArgsConstructor
+@NoArgsConstructor
public class DtEquipmentVo {
// 璁惧ID
diff --git a/src/main/java/com/zy/asrs/entity/mes/MesReturn.java b/src/main/java/com/zy/asrs/entity/mes/MesReturn.java
index bbecda1..c1b477d 100644
--- a/src/main/java/com/zy/asrs/entity/mes/MesReturn.java
+++ b/src/main/java/com/zy/asrs/entity/mes/MesReturn.java
@@ -11,10 +11,10 @@
// 1锛氭垚鍔燂紱2锛氬け璐�
@JsonProperty("Success")
@JSONField(name = "Success")
- private String Success;
+ private String success;
// 澶辫触娑堟伅
@JsonProperty("Message")
@JSONField(name = "Message")
- private String Message;
+ private String message;
}
diff --git a/src/main/java/com/zy/asrs/mapper/DigitalTwinMapper.java b/src/main/java/com/zy/asrs/mapper/DigitalTwinMapper.java
index 33f1999..f50fde8 100644
--- a/src/main/java/com/zy/asrs/mapper/DigitalTwinMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/DigitalTwinMapper.java
@@ -7,6 +7,7 @@
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
+import java.util.Date;
import java.util.List;
@Mapper
@@ -15,12 +16,12 @@
List<Double> overview(@Param("areaId")String areaId);
- List<DtOrderVo> recentOrder(@Param("startTime")String startTime, @Param("endTime")String endTime);
+ List<DtOrderVo> recentOrder(@Param("startTime") Date startTime, @Param("endTime")Date endTime);
- List<DtInAndOutBoundVo> recentInBound(@Param("areaId")String areaId, @Param("startTime")String startTime, @Param("endTime")String endTime);
+ List<DtInAndOutBoundVo> recentInBound(@Param("areaId")String areaId, @Param("startTime") Date startTime, @Param("endTime")Date endTime);
- List<DtInAndOutBoundVo> recentOutBound(@Param("areaId")String areaId, @Param("startTime")String startTime, @Param("endTime")String endTime);
+ List<DtInAndOutBoundVo> recentOutBound(@Param("areaId")String areaId, @Param("startTime") Date startTime, @Param("endTime")Date endTime);
- List<DtDetainMatVo> recentDetainMat(@Param("areaId")String areaId, @Param("startTime")String startTime,
+ List<DtDetainMatVo> recentDetainMat(@Param("areaId")String areaId, @Param("startTime")Date startTime,
@Param("pageIndex")Integer pageIndex, @Param("pageSize")Integer pageSize);
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/service/DigitalTwinService.java b/src/main/java/com/zy/asrs/service/DigitalTwinService.java
index d56961f..1b02d7d 100644
--- a/src/main/java/com/zy/asrs/service/DigitalTwinService.java
+++ b/src/main/java/com/zy/asrs/service/DigitalTwinService.java
@@ -67,4 +67,6 @@
*
*/
void locNumCount();
+
+ DtEquipmentVo equipment(String areaId);
}
diff --git a/src/main/java/com/zy/asrs/service/OrderPakoutService.java b/src/main/java/com/zy/asrs/service/OrderPakoutService.java
index 60a6c8e..dff48ff 100644
--- a/src/main/java/com/zy/asrs/service/OrderPakoutService.java
+++ b/src/main/java/com/zy/asrs/service/OrderPakoutService.java
@@ -1,10 +1,13 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
+import com.core.common.R;
import com.zy.asrs.entity.OrderPakout;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
+import com.zy.common.model.LocDto;
+import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@@ -34,4 +37,6 @@
OrderPakout selectOrderMoveStatus();
OrderPakout selectOrderMoveStatusInitial();
+ R pakout(List<LocDto> locDtos);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
index ef681e9..935062a 100644
--- a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -1,15 +1,22 @@
package com.zy.asrs.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.LocCount;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.digitaltwin.*;
import com.zy.asrs.mapper.DigitalTwinMapper;
import com.zy.asrs.mapper.LocCountMapper;
+import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.DigitalTwinService;
+import com.zy.asrs.service.LocMastService;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
@@ -57,21 +64,27 @@
*/
public List<DtOrderVo> order(String startDate, String endDate) {
- String startTime;
- String endTime;
+ Date startTime = new Date();
+ Date endTime = new Date();
if (startDate == null || endDate == null || startDate.isEmpty() || endDate.isEmpty()){
Date now = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(Calendar.DAY_OF_MONTH, -7);
- Date start = calendar.getTime();
+ startTime = calendar.getTime();
+ endTime = now;
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
- endDate = sdf.format(now);
- startDate = sdf.format(start);
+ } else {
+ SimpleDateFormat sdf =
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
+
+ try {
+ startTime = sdf.parse(startDate);
+ endTime = sdf.parse(endDate);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
- startTime = startDate.substring(0, 4) + "-" + startDate.substring(4, 6) + "-" + startDate.substring(6, 8) + "00:00:00";
- endTime = endDate.substring(0, 4) + "-" + endDate.substring(4, 6) + "-" + endDate.substring(6, 8) + "00:00:00";
List<DtOrderVo> dbOrder = digitalTwinMapper.recentOrder(startTime, endTime);
// 绌烘棩鏈熻ˉ鍏�
for (DtOrderVo dtOrderVo : dbOrder) {
@@ -91,27 +104,34 @@
*/
public List<DtInAndOutBoundVo> inAndOutBound(String areaId, String startDate, String endDate) {
- List<DtInAndOutBoundVo> dtInAndOutBoundVos = new ArrayList<>();
-
- String startTime;
- String endTime;
+ Date startTime = new Date();
+ Date endTime = new Date();
if (startDate == null || endDate == null || startDate.isEmpty() || endDate.isEmpty()){
Date now = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(Calendar.DAY_OF_MONTH, -7);
- Date start = calendar.getTime();
+ startTime = calendar.getTime();
+ endTime = now;
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
- endDate = sdf.format(now);
- startDate = sdf.format(start);
+ } else {
+ SimpleDateFormat sdf =
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
+
+ try {
+ startTime = sdf.parse(startDate);
+ endTime = sdf.parse(endDate);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
- startTime = startDate.substring(0, 4) + "-" + startDate.substring(4, 6) + "-" + startDate.substring(6, 8) + "00:00:00";
- endTime = endDate.substring(0, 4) + "-" + endDate.substring(4, 6) + "-" + endDate.substring(6, 8) + "00:00:00";
+
List<DtInAndOutBoundVo> dtInBoundVos = digitalTwinMapper.recentInBound(areaId, startTime, endTime);
List<DtInAndOutBoundVo> dtOutBoundVos = digitalTwinMapper.recentOutBound(areaId, startTime, endTime);
// 鏍煎紡鏁寸悊
+ List<DtInAndOutBoundVo> dtInAndOutBoundVos = new ArrayList<>(dtInBoundVos);
+ dtInAndOutBoundVos.addAll(dtOutBoundVos);
return dtInAndOutBoundVos;
}
@@ -136,13 +156,14 @@
calendar.setTime(now);
calendar.add(Calendar.DAY_OF_MONTH, -overDayNum);
Date start = calendar.getTime();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String startTime = sdf.format(start);
+// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+// Date startTime = sdf.parse(start);
- List<DtDetainMatVo> dbDetainMats = digitalTwinMapper.recentDetainMat(areaId, startTime, pageIndex, pageSize);
-
- return dbDetainMats;
+ return digitalTwinMapper.recentDetainMat(areaId, start, pageIndex, pageSize);
}
+
+ @Resource
+ private LocMastService locMastService;
/**
* 鏌ヨ搴撳瓨鍜屽簱浣嶈缁嗕俊鎭�
@@ -151,31 +172,39 @@
* @return
*/
public List<DtLocDetailVo> warehouseDetail(String areaId) {
- List<DtLocDetailVo> locDetailVos = new ArrayList<>();
-
- List<LocMast> locMasts = new ArrayList<>();
- List<LocDetl> locDetls = new ArrayList<>();
-
- for (LocMast locMast : locMasts) {
- DtLocDetailVo dtLocDetailVo = new DtLocDetailVo();
- dtLocDetailVo.setLocMast(locMast);
- dtLocDetailVo.setLocNo(locMast.getLocNo());
- dtLocDetailVo.setLocSts(locMast.getLocSts());
- dtLocDetailVo.setRow1(locMast.getRow1());
- dtLocDetailVo.setBay1(locMast.getBay1());
- dtLocDetailVo.setLev1(locMast.getLev1());
- for (LocDetl locDetl : locDetls) {
- List<LocDetl> locDetl1 = locDetls.parallelStream().filter(a -> a.getLocNo().equals(locDetl.getLocNo())).collect(Collectors.toList());
- if (locDetl1 != null && locDetl1.size() == 1) {
- dtLocDetailVo.setLocDetl(locDetl1.get(0));
- dtLocDetailVo.setAreaId(locDetl.getAreaId());
- dtLocDetailVo.setAreaName(locDetl.getAreaName());
- }
- }
- locDetailVos.add(dtLocDetailVo);
- }
-
- return locDetailVos;
+ List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<>());
+ return locMastList.stream()
+ .map(loc -> {
+ DtLocDetailVo vo = new DtLocDetailVo();
+ BeanUtils.copyProperties(loc, vo);
+ return vo;
+ })
+ .collect(Collectors.toList());
+// List<DtLocDetailVo> locDetailVos = new ArrayList<>();
+//
+// List<LocMast> locMasts = new ArrayList<>();
+// List<LocDetl> locDetls = new ArrayList<>();
+//
+// for (LocMast locMast : locMasts) {
+// DtLocDetailVo dtLocDetailVo = new DtLocDetailVo();
+// dtLocDetailVo.setLocMast(locMast);
+// dtLocDetailVo.setLocNo(locMast.getLocNo());
+// dtLocDetailVo.setLocSts(locMast.getLocSts());
+// dtLocDetailVo.setRow1(locMast.getRow1());
+// dtLocDetailVo.setBay1(locMast.getBay1());
+// dtLocDetailVo.setLev1(locMast.getLev1());
+// for (LocDetl locDetl : locDetls) {
+// List<LocDetl> locDetl1 = locDetls.parallelStream().filter(a -> a.getLocNo().equals(locDetl.getLocNo())).collect(Collectors.toList());
+// if (locDetl1 != null && locDetl1.size() == 1) {
+// dtLocDetailVo.setLocDetl(locDetl1.get(0));
+// dtLocDetailVo.setAreaId(locDetl.getAreaId());
+// dtLocDetailVo.setAreaName(locDetl.getAreaName());
+// }
+// }
+// locDetailVos.add(dtLocDetailVo);
+// }
+//
+// return locDetailVos;
}
/**
@@ -203,11 +232,11 @@
}
List<LocCount> locCounts;
- if(areaId.isEmpty()){
- locCounts = locCountMapper.getByDate(Integer.parseInt(startDate), Integer.parseInt(endDate));
- } else {
- locCounts = locCountMapper.getByAreaAndDate(areaId, Integer.parseInt(startDate), Integer.parseInt(endDate));
- }
+// if(areaId.isEmpty()){
+ locCounts = locCountMapper.getByDate(Integer.parseInt(startDate), Integer.parseInt(endDate));
+// } else {
+// locCounts = locCountMapper.getByAreaAndDate(areaId, Integer.parseInt(startDate), Integer.parseInt(endDate));
+// }
for (LocCount locCount : locCounts) {
String date = locCount.getDate().toString();
@@ -227,29 +256,30 @@
*
*/
public void locNumCount() {
-
- List<LocCount> result = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String date = sdf.format(new Date());
List<LocCount> totalLoc = locCountMapper.totalLoc();
List<LocCount> useLoc = locCountMapper.useLoc();
- for (LocCount locCount : totalLoc) {
- LocCount locCount1 = new LocCount();
- locCount1.setDate(Integer.valueOf(date));
- locCount1.setAreaId(locCount.getAreaId());
- locCount1.setLocNum(locCount1.getLocNum());
- for (LocCount locCount2 : useLoc) {
- if(locCount1.getAreaId().equals(locCount2.getAreaId())){
- locCount1.setRemainNum(locCount1.getLocNum() - locCount2.getLocNum());
- }
- }
- result.add(locCount1);
- }
- for (LocCount locCount : result) {
- locCountMapper.insertOrUpdate(locCount);
- }
+ LocCount locCount1 = new LocCount();
+ locCount1.setDate(Integer.valueOf(date));
+ locCount1.setLocNum(totalLoc.get(0).getLocNum());
+ locCount1.setRemainNum(locCount1.getLocNum() - useLoc.get(0).getLocNum());
+
+ locCountMapper.insertOrUpdate(locCount1);
+ }
+
+ @Resource
+ private BasCrnpService basCrnpService;
+
+ @Override
+ public DtEquipmentVo equipment(String areaId) {
+ BasCrnp crnp = basCrnpService.selectOne(new EntityWrapper<>());
+ return DtEquipmentVo.builder()
+ .equipmentId("1").equipmentName("鍫嗗灈鏈�1").equipmentType(1)
+ .belongAreaId("C").belongAreaName("鑱旂粨鍣ㄥ簱").verticalSpeed(Integer.valueOf(Cools.isEmpty(crnp.getCtlHp()) ? "0" : crnp.getCtlHp()))
+ .horizontalSpeed(Integer.valueOf( Cools.isEmpty(crnp.getCtlRest()) ? "0" : crnp.getCtlRest())).voltage(220).status(crnp.getCrnErr() == 0 ? 1 : 3).operateMethod(crnp.getCrnSts() == 3 ? 1 : 3).build();
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
index 468d906..54e1104 100644
--- a/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
@@ -978,6 +978,10 @@
set.add(mesOutApplyItem.getTrayid());
Mat mat = matService.selectByMatnr(mesOutApplyItem.getItemno());
+ if (Cools.isEmpty(mat)) {
+ log.error("鐗╂枡缂栧彿涓嶅瓨鍦�: {}", mesOutApplyItem.getItemno());
+ throw new CoolException("鐗╂枡缂栧彿涓嶅瓨鍦�: " + mesOutApplyItem.getItemno());
+ }
OrderDetlPakout orderDetlPakout = new OrderDetlPakout();
orderDetlPakout.setOrderId(orderPakout.getId());
orderDetlPakout.setOrderNo(orderPakout.getOrderNo());
@@ -1108,7 +1112,9 @@
Date now = new Date();
Task task = new Task();
task.setWrkNo(workNo);
- task.setTaskType("ZX-AGV");
+ //08-1鏄┖鎵樼洏杞簭浠诲姟
+ //08-2鏄墿鏂欒浆搴忎换鍔�
+ task.setTaskType("ZX-AGV-"+transTask.getTransType());
task.setWrkSts(301L);//301.AGV浠诲姟鍒涘缓
task.setIoType(3);//3.绔欏埌绔�
task.setIoPri(10.00);
@@ -1232,7 +1238,7 @@
if ("Y".equals(allow.getStatus())) {
String TaskNo = allow.getTaskno();
if(allow.getTaskno().contains("-")){
- TaskNo = allow.getTaskno().split("-")[0];
+ TaskNo = allow.getTaskno().substring(0, allow.getTaskno().length() - 2);
}
Task task = taskService.selectOne(new EntityWrapper<Task>().eq("task_no", TaskNo));
if (Cools.isEmpty(task)) {
@@ -1324,7 +1330,7 @@
if ("Y".equals(allow.getStatus())) {
String TaskNo = allow.getTaskno();
if(allow.getTaskno().contains("-")){
- TaskNo = allow.getTaskno().split("-")[0];
+ TaskNo = allow.getTaskno().substring(0, allow.getTaskno().length() - 2);
}
Task task = taskService.selectOne(new EntityWrapper<Task>().eq("task_no", TaskNo));
if (Cools.isEmpty(task)) {
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
index 2e41247..d0b7de7 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
@@ -2,21 +2,23 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
-import com.core.common.SnowflakeIdWorker;
+import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.mapper.OrderDetlPakoutMapper;
import com.zy.asrs.mapper.OrderPakoutMapper;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
+import com.zy.common.model.LocDto;
+import com.zy.common.model.TaskDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@@ -38,6 +40,19 @@
private WrkDetlService wrkDetlService;
@Autowired
private OrderDetlPakoutServiceImpl orderDetlPakoutService;
+ @Autowired
+ private LocDetlService locDetlService;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private StaDescService staDescService;
+ @Autowired
+ private WorkService workService;
+ @Autowired
+ private BasDevpService basDevpService;
+
+ @Resource
+ private OrderPakoutService orderPakOutService;
@Override
public OrderPakout selectByNo(String orderNo) {
@@ -203,4 +218,153 @@
return this.baseMapper.selectOrderMoveStatusInitial();
}
+ @Override
+ public R pakout(List<LocDto> locDtos) {
+ if (Cools.isEmpty(locDtos)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ List<LocDto> locDtoArrayList = new ArrayList<>();
+ for (LocDto locDto : locDtos) {
+ if (locDto.getFrozen() != 1 && locDto.getFrozenLoc() != 1) {
+ locDtoArrayList.add(locDto);
+ }
+ }
+ locDtos = locDtoArrayList;
+ if (Cools.isEmpty(locDtos)) {
+ return R.parse("搴撳瓨/搴撲綅琚喕缁擄紝璇峰鐞嗗悗鍑哄簱锛侊紒锛�");
+ }
+ boolean lack = true;
+ for (LocDto locDto : locDtos) {
+ if (!locDto.isLack()) {
+ lack = false;
+ break;
+ }
+ }
+ if (lack) {
+ return R.error("搴撳瓨涓嶈冻");
+ }
+
+ List<TaskDto> taskDtos = new ArrayList<>();
+ // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔�
+ for (LocDto locDto : locDtos) {
+ if (locDto.isLack()) {
+ continue;
+ }
+ TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
+ if (TaskDto.has(taskDtos, taskDto)) {
+ TaskDto dto = TaskDto.find(taskDtos, taskDto);
+ assert dto != null;
+ dto.getLocDtos().addAll(taskDto.getLocDtos());
+ } else {
+ taskDtos.add(taskDto);
+ }
+ }
+ OrderPakout orderPakout = orderPakOutService.selectByNo(locDtos.get(0).getOrderNo());
+
+ //閰嶇洏鍑哄簱鍗曠敤锛� i=5鏃舵垨鑰呭嚭搴撳埌鏈�鍚庢椂涓嬪彂绌烘澘鍑哄簱浠诲姟
+ int i = 0;
+ //闇�瑕佸嚭搴撶殑鎵樼洏鏁伴噺
+ int size = taskDtos.size();
+ //浼樺厛绾�
+ int ioPri = 50;
+ //宸蹭笅绌烘澘鍑哄簱浠诲姟鏁伴噺
+ int j = 1;
+ // -----------------------------------------------------------------------------------------------
+ for (TaskDto taskDto : taskDtos) {
+ BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
+ workService.stockOut(staNo, taskDto, 9995L, ioPri);
+ ioPri--;
+ i++;
+ //閰嶇洏鍑哄簱鍗曚娇鐢紝涓嬪彂闇�瑕佸嚭鐨勭┖鏉夸换鍔�
+ if (orderPakout.getDocType() == 11) {
+ if (i == size) {
+ for (; j <= orderPakout.getPayType(); j++) {
+ LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", taskDto.getLocNo()));
+ Integer locType = Integer.valueOf(locMast1.getLocType2());
+ //閰嶇洏 鍑哄簱鍗曞嚭搴撳尯鍩熸椂Q-L4鏃�,鍑哄ぇ鎵樼洏绌烘澘
+ if(!Cools.isEmpty(orderPakout.getCstmrName())&&orderPakout.getCstmrName().equals("Q-L4")){
+ locType = 2;
+ }
+ String bar = "";
+ //鍏蜂綋寰呭畾
+// if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
+// bar = "A01";
+// }
+ LocMast locMast = new LocMast();
+ if (Cools.isEmpty(bar)) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).orderBy("row1",false));
+ } else {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).like("barcode", bar).orderBy("row1",false));
+ }
+
+ if (Cools.isEmpty(locMast)) {
+ return R.error("搴撳瓨娌℃湁绌烘澘");
+ }
+ String locNo = locMast.getLocNo();
+ EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
+ emptyPlateOutParam.setOutSite(303);
+ emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
+ add(locNo);
+ }});
+ String agvSta = "";
+ if (locMast.getLocType3() == 2) {
+ agvSta = "Z-LZP26";
+ }else if(locType ==2){
+
+ } else {
+ agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
+ }
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam, ioPri, agvSta);
+ ioPri--;
+
+ }
+ } else if (i == 4) {
+ LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", taskDto.getLocNo()));
+ Integer locType = Integer.valueOf(locMast1.getLocType2());
+ //閰嶇洏 鍑哄簱鍗曞嚭搴撳尯鍩熸椂Q-L4鏃�,鍑哄ぇ鎵樼洏绌烘澘
+ if(orderPakout.getCstmrName().equals("Q-L4")){
+ locType = 2;
+ }
+
+ String bar = "";
+ if (!Cools.isEmpty(orderPakout.getShipCode()) && orderPakout.getShipCode().equals("A01")) {
+ bar = "A01";
+ }
+ LocMast locMast = null;
+ if (Cools.isEmpty(bar)) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).orderBy("row1",false));
+ } else {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).like("barcode", bar).orderBy("row1",false));
+ }
+
+ if (Cools.isEmpty(locMast)) {
+ return R.error("搴撳瓨娌℃湁绌烘澘");
+ }
+ String locNo = locMast.getLocNo();
+ EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
+ emptyPlateOutParam.setOutSite(303);
+ emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
+ add(locNo);
+ }});
+ String agvSta = "";
+ if (locMast.getLocType3() == 2) {
+ agvSta = "Z-LZP26";
+ }else if(locType ==2){
+
+ } else {
+ agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
+ }
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam, ioPri, agvSta);
+ ioPri--;
+ j++;
+ }
+ }
+ }
+ return R.ok();
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
index 46ab32e..fb1cba4 100644
--- a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
@@ -3,10 +3,10 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.Task;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.OrderPakoutService;
import com.zy.asrs.service.TaskService;
+import com.zy.asrs.service.WrkDetlService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.BasDevpServiceImpl;
import com.zy.asrs.task.core.ReturnT;
@@ -34,7 +34,11 @@
@Autowired
private WrkMastService wrkMastService;
@Autowired
+ private WrkDetlService wrkDetlService;
+ @Autowired
private BasDevpServiceImpl basDevpService;
+ @Autowired
+ private OrderPakoutService orderPakoutService;
/**
* 婊℃澘鍜岀┖鏉垮嚭搴撲换鍔★紝鍑哄埌杈撻�佺嚎鍚庡垱寤篈GV鎼繍浠诲姟
@@ -61,19 +65,41 @@
Task task1 = taskService.selectOne(new EntityWrapper<Task>()
.in("source_sta_no", wrkMast.getSourceStaNo(), wrkMast.getMemo())
.in("sta_no", wrkMast.getSourceStaNo(), wrkMast.getMemo()));
- if (Cools.isEmpty(task1)) {
+ if (Cools.isEmpty(task1)) {
//鐢熸垚AGV鎼繍鍑哄簱浠诲姟
// 淇濆瓨宸ヤ綔妗�
Task task = new Task();
Date date = new Date();
String TaskNo = wrkMast.getWrkNo() + "aa" + date.getTime();
+ String taskType = "AGV";
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+
+ if (wrkMast.getIoType()!=110){
+ if (wrkDetls != null && !Cools.isEmpty(wrkDetls.get(0).getOrderNo())){
+ TaskNo = wrkDetls.get(0).getOrderNo();
+ taskType = "KB-AGV";
+ }
+
+ }else{
+ if (wrkDetls != null && !Cools.isEmpty(wrkDetls.get(0).getOrderNo())){
+ OrderPakout orderPakout = orderPakoutService.selectByNo(wrkDetls.get(0).getOrderNo());
+ if (orderPakout.getDocType()==11){
+ taskType = "PP-AGV";
+ }else if (orderPakout.getDocType()==12){
+ taskType = "ZP-AGV";
+ }
+
+ }
+
+ }
+
task.setWrkNo(wrkMast.getWrkNo())
.setTaskNo(TaskNo)
.setIoTime(date)
.setWrkSts(301L) // 宸ヤ綔鐘舵�侊細301.浠诲姟涓嬪彂
.setIoType(ioType) // 鍏ュ嚭搴撶姸鎬侊細 3.绔欏埌绔� 4.绔欏埌鍖哄煙
- .setTaskType("agv")
+ .setTaskType(taskType)
.setIoPri(10D)
.setFullPlt("Y") // 婊℃澘锛歒
.setPicking("N") // 鎷f枡
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index ac352f3..410abbd 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -138,7 +138,7 @@
}
// 鍏ュ簱璁㈠崟瀹屾垚涓婃姤-棰嗘枡鍗曪紝鍘熸潗鏂�
- @Scheduled(cron = "0/30 * * * * ? ")
+ //@Scheduled(cron = "0/30 * * * * ? ")
@Async("orderThreadPool")
void inOrderCompleteReport() {
String erpReport = Parameter.get().getErpReport();
@@ -256,9 +256,9 @@
}
}
- // 鍑哄簱鍗曚笂鎶�
- @Scheduled(cron = "0/30 * * * * ? ")
- @Async("orderThreadPool")
+ // 瑁呴厤鍗曡嚜鍔ㄥ嚭搴�
+ @Scheduled(cron = "0/3 * * * * ? ")
+// @Async("orderThreadPool")
void AutoOutOrderPinOut() throws InterruptedException {
String erpReport = Parameter.get().getErpReport();
if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
@@ -318,7 +318,7 @@
if (boo){
continue;
}
- R pakout = outController.pakout(locDtos);
+ R pakout = orderPakoutService.pakout(locDtos);
break;
}
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index c574b8c..1e685d1 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.entity.Task;
import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.DigitalTwinService;
import com.zy.asrs.service.MesService;
import com.zy.asrs.service.TaskService;
import com.zy.asrs.service.WrkMastService;
@@ -35,6 +36,13 @@
@Resource
private MesService mesService;
// TODO锛歳eporterTask()
+ @Resource
+ private DigitalTwinService digitalTwinService;
+
+ @Scheduled(cron = "0 50 23 * * ?")
+ private void locNumCount() {
+ digitalTwinService.locNumCount();
+ }
@Scheduled(cron = "0/3 * * * * ? ")
private void execute(){
diff --git a/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java b/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java
index 07c89f7..cfdec07 100644
--- a/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java
@@ -47,15 +47,15 @@
Boolean flag2 = false;
if(stationProperties.getStation().contains(task.getStaNo())){
- taskType = "YLIN";
+ taskType = "LJIN";
flag1 = true;
}
if (stationProperties.getStation().contains(task.getSourceStaNo())){
- taskType = "YLOUT";
+ taskType = "LJOUT";
flag2 = true;
}
- if(flag1&&flag2){
- taskType = "YLBOTH";
+ if(flag1 && flag2){
+ taskType = "LJBOTH";
}
//AGV鍖哄煙涓棤娉曠敤-
String StaNo = task.getStaNo();
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 e593217..1dc74b3 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -614,19 +614,20 @@
if (wrkMast != null) {
if (wrkMast.getIoType()==110&& wrkMast.getWrkSts()>12){
wrkMast.setWrkSts(32L);//32.绛夊緟缁勬墭
- }else if (wrkMast.getIoType()==101){
+ }else if (wrkMast.getIoType()==101 && wrkMast.getWrkSts()>12){
wrkMast.setWrkSts(15L);//15.鍑哄簱鏇存柊瀹屾垚
}else if (wrkMast.getIoType()==103 && wrkMast.getWrkSts()>12){
wrkMast.setWrkSts(20L);//20.绛夊緟鍥炲簱
}
wrkMast.setModiTime(new Date());
+ wrkMast.setOveMk("Y");
wrkMastService.updateById(wrkMast);
task.setWrkSts(305L);//浠诲姟鐘舵�佷粠304--銆�305
task.setModiTime(new Date());
taskService.updateById(task);
//瀵硅浆搴忔惉杩愬畬鎴愮殑浠诲姟缁撴灉鍙嶉缁檓es
- }else if(task.getTaskType().equals("ZX-AGV")){
+ }else if(task.getTaskType().equals("ZX-AGV-08-1")||task.getTaskType().equals("ZX-AGV-08-2")){
HashMap<String,Object> map = new HashMap<>();
map.put("taskno", task.getTaskNo());
String mesUrl = url+"AGVArrivalCompletedFit";
diff --git a/src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java b/src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java
index 3e6b2d5..5c1da06 100644
--- a/src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java
+++ b/src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java
@@ -543,7 +543,9 @@
public static OrderDetl selectItem(boolean sign,String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3){
try{
- Object invoke = implement(OrderMethodVo.SELECT_ITEM2).invoke(getOrderInAndOutType(sign), orderNo, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3);
+ Method m = implement(OrderMethodVo.SELECT_ITEM2);
+ OrderInAndOutType t = getOrderInAndOutType(sign);
+ Object invoke = m.invoke(t, orderNo, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3);
return aOrderDetl(invoke);
} catch (Exception e) {
throw new CoolException(e.getCause().getMessage());
diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java
index af369cf..d840ae6 100644
--- a/src/main/java/com/zy/common/model/TaskDto.java
+++ b/src/main/java/com/zy/common/model/TaskDto.java
@@ -109,7 +109,11 @@
}
}
if (dto.getAnfme() > locDetl.getAnfme()) {
- throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
+ throw new CoolException(String.format(
+ "鍑哄簱鏁伴噺[%s]瓒呰繃搴撳瓨鏁伴噺[%s]锛岀墿鏂欙細%s锛屾壒娆★細%s",
+ dto.getAnfme(), locDetl.getAnfme(),
+ dto.getMatnr(), dto.getBatch()
+ ));
}
if (dto.getAnfme().equals(locDetl.getAnfme())) {
sameNumber++;
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 5166311..9ac8e9f 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -66,7 +66,7 @@
if (Cools.isEmpty(param.getSourceStaNo())) {
return R.error("婧愮珯缂栧彿涓嶈兘涓虹┖");
}
- if (Cools.isEmpty(param.getSourceStaNo())||param.getBarcode().length()==8) {
+ if (Cools.isEmpty(param.getSourceStaNo())) {
return R.error("鎵樼洏涓嶈兘涓虹┖鎴栬�呮墭鐩樼爜涓嶄负鍏綅");
}
List<WaitPakin> waitPakins = null;
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index aa6cb38..8efb6f7 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -135,7 +135,7 @@
#mes瀵规帴
mes:
- url: http://192.9.100.173:8088/prod-api/basicmodel/WmsFit/Api/
+ url: http://172.26.160.5:80/dev-api/basicmodel/WmsFit/Api/
#榛樿鎺ュ彛鎿嶄綔浜哄憳id
defaultUserId: 30
@@ -143,8 +143,7 @@
hik:
switch: true
url: http://172.26.11.98:80/rcs/rtas/
- station: 402,401,307,Z-LZL41,Z-LZL42
-
+ station: 402,401,307,Z-LVL10, Z-LVL11,Z-LVL12, Z-LVL13,Z-LVL14, Z-LVL15,Z-LVL16, Z-LVL17,Z-LVL18, Z-LVL19,Z-LVL05, Z-LVL06,Z-LVL07, Z-LVL08, Z-LVL09, Z-LZH19, Z-LZH20, Z-LZH21, Z-LZH22, Z-LZH23, Z-LZH24
#鍗庢檽瀵规帴
hx:
url: http://172.26.3.131:8300/api/robot/
diff --git a/src/main/resources/mapper/LocCountMapper.xml b/src/main/resources/mapper/LocCountMapper.xml
index 60bc842..eee2542 100644
--- a/src/main/resources/mapper/LocCountMapper.xml
+++ b/src/main/resources/mapper/LocCountMapper.xml
@@ -22,11 +22,18 @@
</select>
<insert id="insertOrUpdate" parameterType="com.zy.asrs.entity.LocCount">
- IF EXISTS (SELECT date FROM asr_loc_count WHERE date = #{model.date} AND area_id = #{model.areaId})
- INSERT INTO asr_loc_count(date, area_id, loc_num, remain_num)
- VALUES (#{model.date}, #{model.areaId}, #{model.locNum}, #{model.remainNum})
+ IF EXISTS (SELECT 1 FROM asr_loc_count WHERE date = #{model.date})
+ BEGIN
+ UPDATE asr_loc_count
+ SET loc_num = #{model.locNum},
+ remain_num = #{model.remainNum}
+ WHERE date = #{model.date}
+ END
ELSE
- UPDATE asr_loc_count SET loc_num = #{model.locNum}, remain_num = #{model.remainNum}
+ BEGIN
+ INSERT INTO asr_loc_count(date, area_id, loc_num, remain_num)
+ VALUES (#{model.date}, #{model.areaId}, #{model.locNum}, #{model.remainNum})
+ END
</insert>
<select id="totalLoc" resultType="com.zy.asrs.entity.LocCount">
diff --git a/src/main/resources/mapper/ViewDigitalTwinMapper.xml b/src/main/resources/mapper/ViewDigitalTwinMapper.xml
index 957e7e4..371ddb7 100644
--- a/src/main/resources/mapper/ViewDigitalTwinMapper.xml
+++ b/src/main/resources/mapper/ViewDigitalTwinMapper.xml
@@ -3,39 +3,32 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.mapper.DigitalTwinMapper">
- <resultMap id="dtOrderMap" type="com.zy.asrs.entity.digitaltwin.DtOrderVo">
- <constructor>
- <arg column="orderDate" javaType="java.util.Date"/>
- <arg column="orderNum" javaType="java.lang.Integer"/>
- </constructor>
- </resultMap>
-
<!--鎬昏锛氭�诲簱浣嶃�佸凡鐢ㄥ簱浣嶃�佷粖鏃ュ簱瀛樸�佷粖鏃ュ嚭搴撱�佷粖鏃ュ叆搴�-->
<select id="overview" resultType="Double">
SELECT COUNT(*) FROM asr_loc_mast WHERE loc_sts != 'Z'
- <if test="areaId != null">
- and area_id = #{areaId}
- </if>
+ <!-- <if test="areaId != null">-->
+ <!-- and area_id = #{areaId}-->
+ <!-- </if>-->
UNION ALL
SELECT COUNT(*) FROM asr_loc_mast WHERE loc_sts = 'F' or loc_sts = 'P' or loc_sts = 'Q' or loc_sts = 'R' or loc_sts = 'S' or loc_sts = 'X'
- <if test="areaId != null">
- and area_id = #{areaId}
- </if>
+ <!-- <if test="areaId != null">-->
+ <!-- and area_id = #{areaId}-->
+ <!-- </if>-->
UNION ALL
SELECT ISNULL(SUM(anfme), 0) FROM asr_loc_detl
- <if test="areaId != null">
- WHERE area_id = #{areaId}
- </if>
+ <!-- <if test="areaId != null">-->
+ <!-- WHERE area_id = #{areaId}-->
+ <!-- </if>-->
UNION ALL
SELECT ISNULL(SUM(anfme), 0) FROM asr_wrkin_view WHERE CONVERT(VARCHAR, io_time, 23) = CONVERT(VARCHAR, GETDATE(), 23)
- <if test="areaId != null">
- and area_id = #{areaId}
- </if>
+ <!-- <if test="areaId != null">-->
+ <!-- and area_id = #{areaId}-->
+ <!-- </if>-->
UNION ALL
SELECT ISNULL(SUM(anfme), 0) FROM asr_wrkout_view WHERE CONVERT(VARCHAR, io_time, 23) = CONVERT(VARCHAR, GETDATE(), 23)
- <if test="areaId != null">
- and area_id = #{areaId}
- </if>
+ <!-- <if test="areaId != null">-->
+ <!-- and area_id = #{areaId}-->
+ <!-- </if>-->
</select>
<select id="recentOrder" resultType="com.zy.asrs.entity.digitaltwin.DtOrderVo">
@@ -65,9 +58,9 @@
SELECT CONVERT(VARCHAR, io_time, 23) AS boundDate, SUM(anfme) AS inBoundNum
FROM asr_wrkin_view
WHERE io_time BETWEEN #{startTime} AND #{endTime}
- <if test="areaId != null">
- and area_id = #{areaId}
- </if>
+ <!-- <if test="areaId != null">-->
+ <!-- and area_id = #{areaId}-->
+ <!-- </if>-->
GROUP BY CONVERT(VARCHAR, io_time, 23)
</select>
@@ -75,28 +68,31 @@
SELECT CONVERT(VARCHAR, io_time, 23) AS boundDate, SUM(anfme) AS outBoundNum
FROM asr_wrkout_view
WHERE io_time BETWEEN #{startTime} AND #{endTime}
- <if test="areaId != null">
- and area_id = #{areaId}
- </if>
+ <!-- <if test="areaId != null">-->
+ <!-- and area_id = #{areaId}-->
+ <!-- </if>-->
GROUP BY CONVERT(VARCHAR, io_time, 23)
</select>
<select id="recentDetainMat" resultType="com.zy.asrs.entity.digitaltwin.DtDetainMatVo">
- select
- *
- from (
- select
- ROW_NUMBER() OVER(Order by t.io_time desc) as row , *
- from (
- SELECT area_id AS belongAreaId, area_name AS belongAreaName, matnr AS matId, maktx AS matName,
- loc_no AS lokId, '' AS lokName,
- DATEDIFF(MINUTE, appe_time, GETDATE()) AS detainTime, appe_time AS inBoundTime
- FROM asr_loc_detl WHERE appe_time < #{startTime}
- <if test="areaId != null">
- and area_id = #{areaId}
- </if>
- ) t
- ) a where 1=1 and a.row between ((#{pageIndex}-1)*#{pageSize}+1) and (#{pageIndex}*#{pageSize})
+ SELECT *
+ FROM (
+ SELECT
+ ROW_NUMBER() OVER(ORDER BY t.inBoundTime DESC) AS rownum,
+ t.*
+ FROM (
+ SELECT
+ matnr AS matId,
+ maktx AS matName,
+ loc_no AS lokId,
+ '' AS lokName,
+ DATEDIFF(MINUTE, appe_time, GETDATE()) AS detainTime,
+ appe_time AS inBoundTime
+ FROM asr_loc_detl
+ WHERE appe_time <= #{startTime}
+ ) t
+ ) a
+ WHERE a.rownum BETWEEN ((#{pageIndex}-1)*#{pageSize}+1) AND (#{pageIndex}*#{pageSize})
</select>
</mapper>
--
Gitblit v1.9.1