From f14bb52ddab40bf589304b6b43331ddaccea69f6 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 27 十二月 2025 16:03:36 +0800
Subject: [PATCH] 1.完善AGV任务创建和下发 2.完善数据孪生 3.新增拍照获取照片 4.新增PDA配盘出库单立即出库 5.新增PDA配盘入库单下拉框获取订单号
---
src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java | 28 +
src/main/java/com/zy/asrs/entity/param/CombParam.java | 3
src/main/resources/mapper/WrkMastLogMapper.xml | 1
src/main/java/com/zy/asrs/controller/LocMastController.java | 40 ++
src/main/java/com/zy/asrs/entity/Task.java | 8
src/main/resources/mapper/LocMastMapper.xml | 1
src/main/java/com/zy/asrs/controller/DigitalTwinController.java | 269 ++++++++--------
src/main/webapp/static/js/stoMan/stoQue.js | 42 ++
src/main/java/com/zy/asrs/entity/digitaltwin/LocPicDto.java | 13
src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java | 4
src/main/webapp/views/stoMan/stoQue.html | 1
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 21
src/main/resources/application-dev.yml | 5
src/main/java/com/zy/common/model/DetlDto.java | 4
src/main/java/com/zy/asrs/controller/MesController.java | 16
src/main/java/com/zy/asrs/controller/OutController.java | 165 ++++++++--
src/main/java/com/zy/asrs/entity/LocMast.java | 3
src/main/resources/mapper/ViewDigitalTwinMapper.xml | 29 +
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 8
src/main/java/com/zy/asrs/entity/WrkMast.java | 3
src/main/java/com/zy/common/model/TaskDto.java | 6
src/main/resources/mapper/WrkMastMapper.xml | 1
src/main/java/com/zy/asrs/entity/WrkMastLog.java | 3
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 2
src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java | 33 +
src/main/java/com/zy/asrs/controller/MobileController.java | 207 ++++++++++--
src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java | 1
src/main/java/com/zy/asrs/entity/rcs/RcsTaskSubmit.java | 2
src/main/java/com/zy/asrs/entity/digitaltwin/DtOrderVo.java | 10
src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java | 4
30 files changed, 670 insertions(+), 263 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
index db5a98b..73de14d 100644
--- a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
+++ b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
@@ -31,16 +31,16 @@
// @ManagerAuth
public R overview(@RequestParam(required = false) String areaId){
- //digitalTwinService.overview(areaId);
+ DtOverviewVo dtOverviewVo = digitalTwinService.overview(areaId);
- DtOverviewVo dtOverviewVo = DtOverviewVo.builder()
- .totalLoc(999)
- .useLoc(900)
- .idleLoc(99)
- .todayOutbound(160)
- .todayWarehousing(170)
- .remainingStock(180)
- .build();
+// DtOverviewVo dtOverviewVo = DtOverviewVo.builder()
+// .totalLoc(999)
+// .useLoc(900)
+// .idleLoc(99)
+// .todayOutbound(160)
+// .todayWarehousing(170)
+// .remainingStock(180)
+// .build();
return R.ok().add(dtOverviewVo);
}
@@ -57,19 +57,19 @@
public R recentOrder(@RequestParam(required = false) String startDate,
@RequestParam(required = false) String endDate){
-// digitalTwinService.order(startDate, endDate);
+ List<DtOrderVo> orderVoList = digitalTwinService.order(startDate, endDate);
- DtOrderVo dtOrderVo = DtOrderVo.builder()
- .orderDate("2025-10-22")
- .orderNum(156)
- .build();
- DtOrderVo dtOrderVo2 = DtOrderVo.builder()
- .orderDate("2025-10-23")
- .orderNum(166)
- .build();
- List<DtOrderVo> orderVoList = new ArrayList<>();
- orderVoList.add(dtOrderVo);
- orderVoList.add(dtOrderVo2);
+// DtOrderVo dtOrderVo = DtOrderVo.builder()
+// .orderDate("2025-10-22")
+// .orderNum(156)
+// .build();
+// DtOrderVo dtOrderVo2 = DtOrderVo.builder()
+// .orderDate("2025-10-23")
+// .orderNum(166)
+// .build();
+// List<DtOrderVo> orderVoList = new ArrayList<>();
+// orderVoList.add(dtOrderVo);
+// orderVoList.add(dtOrderVo2);
return R.ok().add(orderVoList);
}
@@ -88,19 +88,19 @@
@RequestParam(required = false) String startDate,
@RequestParam(required = false) String endDate){
-// digitalTwinService.recentLoc(areaId, startDate, 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);
+// 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);
}
@@ -119,21 +119,22 @@
@RequestParam(required = false) String startDate,
@RequestParam(required = false) String endDate){
-// digitalTwinService.inAndOutBound(areaId, startDate, endDate);
+ List<DtInAndOutBoundVo> inAndOutBoundVoList = digitalTwinService.inAndOutBound(areaId, startDate, endDate);
- DtInAndOutBoundVo dtInAndOutBoundVo = DtInAndOutBoundVo.builder()
- .boundDate("2025-10-22")
- .inBoundNum(237)
- .outBoundNum(487)
- .build();
- DtInAndOutBoundVo dtInAndOutBoundVo2 = DtInAndOutBoundVo.builder()
- .boundDate("2025-10-23")
- .inBoundNum(187)
- .outBoundNum(287)
- .build();
- List<DtInAndOutBoundVo> inAndOutBoundVoList = new ArrayList<>();
- inAndOutBoundVoList.add(dtInAndOutBoundVo);
- inAndOutBoundVoList.add(dtInAndOutBoundVo2);
+
+// DtInAndOutBoundVo dtInAndOutBoundVo = DtInAndOutBoundVo.builder()
+// .boundDate("2025-10-22")
+// .inBoundNum(237)
+// .outBoundNum(487)
+// .build();
+// DtInAndOutBoundVo dtInAndOutBoundVo2 = DtInAndOutBoundVo.builder()
+// .boundDate("2025-10-23")
+// .inBoundNum(187)
+// .outBoundNum(287)
+// .build();
+// List<DtInAndOutBoundVo> inAndOutBoundVoList = new ArrayList<>();
+// inAndOutBoundVoList.add(dtInAndOutBoundVo);
+// inAndOutBoundVoList.add(dtInAndOutBoundVo2);
return R.ok().add(inAndOutBoundVoList);
}
@@ -152,31 +153,31 @@
@RequestParam(required = false) Integer pageIndex,
@RequestParam(required = false) Integer pageSize){
-// digitalTwinService.recentDetainMat(areaId, overDayNum, pageIndex, 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);
+// 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);
}
@@ -231,76 +232,74 @@
@RequestMapping(value = "/warehouseDetail")
// @ManagerAuth
public R warehouseDetail(@RequestParam(required = false) String areaId){
+ List<DtLocDetailVo> dtLocDetailVoList = digitalTwinService.warehouseDetail(areaId);
-// digitalTwinService.warehouseDetail(areaId);
-
- List<DtLocDetailVo> dtLocDetailVoList = new ArrayList<>();
- DtLocDetailVo dtLocDetailVo = new DtLocDetailVo();
- dtLocDetailVo.setLocNo("CA0100202");
- dtLocDetailVo.setLocSts("O");
- dtLocDetailVo.setAreaId(10010L);
- dtLocDetailVo.setAreaName("鍒�鍏峰簱");
- dtLocDetailVo.setRow1(1);
- dtLocDetailVo.setBay1(2);
- dtLocDetailVo.setLev1(2);
-
- LocMast locMast = new LocMast();
- locMast.setLocNo("CA0100202");
- locMast.setLocSts("O");
- locMast.setRow1(1);
- locMast.setBay1(2);
- locMast.setLev1(2);
- dtLocDetailVo.setLocMast(locMast);
-
- LocDetl locDetl = new LocDetl();
- locDetl.setLocNo("CA0100202");
- locDetl.setAreaId(10010L);
- locDetl.setAreaName("鍒�鍏峰簱");
- locDetl.setMatnr("mat10001");
- locDetl.setMaktx("鍒�鎶�");
- dtLocDetailVo.setLocDetl(locDetl);
- dtLocDetailVoList.add(dtLocDetailVo);
-
-
- DtLocDetailVo dtLocDetailVo2 = new DtLocDetailVo();
- dtLocDetailVo2.setLocNo("CA0100202");
- dtLocDetailVo2.setLocSts("O");
- dtLocDetailVo2.setAreaId(10010L);
- dtLocDetailVo2.setAreaName("鍒�鍏峰簱");
- dtLocDetailVo2.setRow1(1);
- dtLocDetailVo2.setBay1(2);
- dtLocDetailVo2.setLev1(2);
-
- LocMast locMast2 = new LocMast();
- locMast2.setLocNo("CA0100203");
- locMast2.setLocSts("O");
- locMast2.setRow1(1);
- locMast2.setBay1(2);
- locMast2.setLev1(3);
- dtLocDetailVo2.setLocMast(locMast2);
-
- LocDetl locDetl2 = new LocDetl();
- locDetl2.setLocNo("CA0100203");
- locDetl2.setAreaId(10010L);
- locDetl2.setAreaName("鍒�鍏峰簱");
- locDetl2.setMatnr("mat10001");
- locDetl2.setMaktx("鍒�鎶�");
- dtLocDetailVo2.setLocDetl(locDetl2);
- dtLocDetailVoList.add(dtLocDetailVo2);
-
-
+ return R.ok().add(dtLocDetailVoList);
+ }
+// List<DtLocDetailVo> dtLocDetailVoList = new ArrayList<>();
+// DtLocDetailVo dtLocDetailVo = new DtLocDetailVo();
+// dtLocDetailVo.setLocNo("CA0100202");
+// dtLocDetailVo.setLocSts("O");
+// dtLocDetailVo.setAreaId(10010L);
+// dtLocDetailVo.setAreaName("鍒�鍏峰簱");
+// dtLocDetailVo.setRow1(1);
+// dtLocDetailVo.setBay1(2);
+// dtLocDetailVo.setLev1(2);
+//
+// LocMast locMast = new LocMast();
+// locMast.setLocNo("CA0100202");
+// locMast.setLocSts("O");
+// locMast.setRow1(1);
+// locMast.setBay1(2);
+// locMast.setLev1(2);
+// dtLocDetailVo.setLocMast(locMast);
+//
+// LocDetl locDetl = new LocDetl();
+// locDetl.setLocNo("CA0100202");
+// locDetl.setAreaId(10010L);
+// locDetl.setAreaName("鍒�鍏峰簱");
+// locDetl.setMatnr("mat10001");
+// locDetl.setMaktx("鍒�鎶�");
+// dtLocDetailVo.setLocDetl(locDetl);
+// dtLocDetailVoList.add(dtLocDetailVo);
+//
+//
+// DtLocDetailVo dtLocDetailVo2 = new DtLocDetailVo();
+// dtLocDetailVo2.setLocNo("CA0100202");
+// dtLocDetailVo2.setLocSts("O");
+// dtLocDetailVo2.setAreaId(10010L);
+// dtLocDetailVo2.setAreaName("鍒�鍏峰簱");
+// dtLocDetailVo2.setRow1(1);
+// dtLocDetailVo2.setBay1(2);
+// dtLocDetailVo2.setLev1(2);
+//
+// LocMast locMast2 = new LocMast();
+// locMast2.setLocNo("CA0100203");
+// locMast2.setLocSts("O");
+// locMast2.setRow1(1);
+// locMast2.setBay1(2);
+// locMast2.setLev1(3);
+// dtLocDetailVo2.setLocMast(locMast2);
+//
// LocDetl locDetl2 = new LocDetl();
-// locDetl2.setLocNo("1001");
+// locDetl2.setLocNo("CA0100203");
// locDetl2.setAreaId(10010L);
// locDetl2.setAreaName("鍒�鍏峰簱");
// locDetl2.setMatnr("mat10001");
// locDetl2.setMaktx("鍒�鎶�");
+// dtLocDetailVo2.setLocDetl(locDetl2);
+// dtLocDetailVoList.add(dtLocDetailVo2);
//
-//// List<LocDetl> locDetlList = new ArrayList<>();
-//// locDetlList.add(locDetl);
-//// locDetlList.add(locDetl2);
-
- return R.ok().add(dtLocDetailVoList);
- }
+//
+//// 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);
}
diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index 723e3f6..32fc68c 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -12,6 +13,7 @@
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.digitaltwin.LocPicDto;
import com.zy.asrs.entity.param.LocMastInitParam;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.*;
@@ -20,6 +22,7 @@
import com.zy.common.service.CommonService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -46,6 +49,8 @@
private WrkMastLogService wrkMastLogService;
@Resource
private WrkDetlLogService wrkDetlLogService;
+ @Value("${wcs.url}")
+ private String WCS_URL;
@RequestMapping(value = "/locMast/init/pwd")
public R locMastInitPwd(@RequestParam(required = false) String pwd) {
@@ -335,4 +340,39 @@
return R.error("鍒濆鍖栧け璐�===>" + e.getMessage());
}
}
+
+ @GetMapping("/locMast/picUrl")
+ @ManagerAuth
+ public R getPicUrl(@RequestParam String locNo) {
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", locNo));
+ if (locMast == null) {
+ return R.error();
+ }
+
+ List<LocPicDto> list = new ArrayList<>();
+ String picStr = locMast.getPic();
+ if (Cools.isEmpty(picStr)) {
+ return R.ok().add(list);
+ }
+ List<String> pics = JSON.parseArray(picStr, String.class);
+ for (String pic : pics) {
+ List<String> picList = new ArrayList<>();
+ String[] split = pic.split("_");
+ String picPath = split[0];
+ String locNoStr = "";
+ if (split.length > 1) {
+ locNoStr = split[1];
+ picPath += "_" + locNoStr;
+ }
+ picList.add("http://" + WCS_URL + "/image/" + picPath + "-1.jpg");
+ picList.add("http://" + WCS_URL + "/image/" + picPath + "-2.jpg");
+
+ LocPicDto locPicDto = new LocPicDto();
+ locPicDto.setLocNo(locNoStr);
+ locPicDto.setPics(picList);
+ list.add(locPicDto);
+ }
+ return R.ok().add(list);
+ }
}
diff --git a/src/main/java/com/zy/asrs/controller/MesController.java b/src/main/java/com/zy/asrs/controller/MesController.java
index 7b4343c..3497c5a 100644
--- a/src/main/java/com/zy/asrs/controller/MesController.java
+++ b/src/main/java/com/zy/asrs/controller/MesController.java
@@ -41,14 +41,14 @@
return mesReturn;
}
-// // 鍑哄簱鐢宠
-// @PostMapping("/api/mes/outBoundOrder")
-// public MesReturn outBoundOrder(@RequestBody MesOutApply param){
-//
-// MesReturn mesReturn = new MesReturn();
-// mesReturn.setSuccess(mesService.outBoundOrder(param) == 1 ? "1" : "2");
-// return mesReturn;
-// }
+ // 鍑哄簱鐢宠
+ @PostMapping("/api/mes/outBoundOrder")
+ public MesReturn outBoundOrder(@RequestBody MesOutApply param){
+
+ MesReturn mesReturn = new MesReturn();
+ mesReturn.setSuccess(mesService.outBoundOrder(param) == 1 ? "1" : "2");
+ return mesReturn;
+ }
// // 鍑哄簱鍏ュ簱璁㈠崟鐢宠
@PostMapping("/api/mes/callOutBoundOrder")
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 81cd8f6..b239166 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -14,6 +14,10 @@
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl;
+import com.zy.asrs.service.impl.OrderDetlPakoutServiceImpl;
+import com.zy.asrs.service.impl.OrderPakinServiceImpl;
+import com.zy.asrs.service.impl.OrderPakoutServiceImpl;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.common.model.WrkDto;
import com.zy.common.utils.HttpHandler;
@@ -24,6 +28,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -61,6 +66,16 @@
@Resource
private StaDescService staDescService;
+ @Autowired
+ private OrderPakinServiceImpl orderPakinService;
+ @Autowired
+ private TaskService taskService;
+ @Autowired
+ private OrderDetlPakinServiceImpl orderDetlPakinService;
+ @Autowired
+ private OrderPakoutServiceImpl orderPakoutService;
+ @Autowired
+ private OrderDetlPakoutServiceImpl orderDetlPakoutService;
@RequestMapping("/pda/WarehouseOut/v1")
@ManagerAuth(memo = "骞舵澘閫斾腑鎷f枡-鍙傝�冨康鍒�")
@@ -209,48 +224,50 @@
@RequestMapping("/order/search/orderNo/auth")
@ManagerAuth
public R orderSearchByBarcode(@RequestParam String orderNo){
- if (Cools.isEmpty(orderNo)){
- orderNo=null;
- }
-// List<Order> orders = orderService.selectorderNoL(orderNo);
- List<Order> orders = OrderInAndOutUtil.selectOrderNoL(null, orderNo);
- if (Cools.isEmpty(orders)){
+ OrderPakin orderPakin = orderPakinService.selectByNo(orderNo);
+ if (orderPakin == null) {
return R.ok();
}
- LinkedList<CombParam> combParams = new LinkedList<>();
- if (!Cools.isEmpty(orders)){
- for (Order order:orders){
- CombParam combParam=new CombParam();
- if (order == null) {
- continue;
- }
- DocType docType = docTypeService.selectById(order.getDocType());
- if (docType.getPakin() == null || docType.getPakin() != 1) {
- continue;
- }
- if (order.getSettle() > 2) {
- continue;
- }
-// List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
- List<OrderDetl> orderDetls = OrderInAndOutUtil.selectWorkingDetls(order.getPakinPakoutStatus$(), order.getId());
- if (!Cools.isEmpty(orderDetls)) {
- LinkedList<CombParam.CombMat> combMats = new LinkedList<>();
- for (OrderDetl orderDetl:orderDetls){
- CombParam.CombMat combMat = new CombParam.CombMat();
- combMat.setMatnr(orderDetl.getMatnr());
- combMat.setBatch(orderDetl.getBatch());
- combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty());
- combMat.setMaktx(orderDetl.getMaktx());
- combMat.setSpecs(orderDetl.getSpecs());
- combMats.add(combMat);
- }
- combParam.setCombMats(combMats);
- }
- combParam.setOrderNo(order.getOrderNo());
- combParams.add(combParam);
- }
+ DocType docType = docTypeService.selectById(orderPakin.getDocType());
+ if (docType.getPakin() != 1) {
+ return R.ok();
}
- return R.ok().add(combParams);
+
+ List<OrderDetlPakin> orderDetlPakins = orderPakinService.selectWorkingDetls(orderPakin.getId());
+ if (Cools.isEmpty(orderDetlPakins)) {
+ return R.ok();
+ }
+ List<OrderDetlPakin> orderDetls1= new ArrayList<>();
+ for (OrderDetlPakin orderDetl : orderDetlPakins) {
+ if(orderDetl.getAnfme()-orderDetl.getWorkQty()>0){
+ orderDetls1.add(orderDetl);
+ }
+
+ }
+ return R.ok().add(orderDetls1);
+ }
+
+ @RequestMapping("/order/search/orderNo/out/auth")
+ @ManagerAuth
+ public R orderSearchByBarcodeOut(@RequestParam String orderNo){
+ OrderPakout orderPakout = orderPakoutService.selectByNo(orderNo);
+ if (orderPakout == null) {
+ return R.ok();
+ }
+ DocType docType = docTypeService.selectById(orderPakout.getDocType());
+
+ List<OrderDetlPakout> orderDetlPakouts = orderPakoutService.selectWorkingDetls(orderPakout.getId());
+ if (Cools.isEmpty(orderDetlPakouts)) {
+ return R.ok();
+ }
+ List<OrderDetlPakout> orderDetls1= new ArrayList<>();
+ for (OrderDetlPakout orderDetl : orderDetlPakouts) {
+ if(orderDetl.getAnfme()-orderDetl.getWorkQty()>0){
+ orderDetls1.add(orderDetl);
+ }
+
+ }
+ return R.ok().add(orderDetls1);
}
@RequestMapping("/comb/auth")
@@ -549,4 +566,116 @@
return mobileService.callEmptyBinOutBound(locNo,size,getUserId());
}
+ /**
+ * 绌烘澘鍥炲簱鎴栬�呮嫞鏂欏洖搴�
+ *
+ * @param sourceStaNo
+ * @param staNo
+ * @return
+ */
+ @RequestMapping("/AGVStartReturn")
+ public synchronized R AGVStartReturn(@RequestParam(required = false) String sourceStaNo
+ , @RequestParam(required = false) String staNo
+ , @RequestParam(required = false) String taskNo) {
+ if (Cools.isEmpty(sourceStaNo) || Cools.isEmpty(staNo)) {
+ return R.error("婧愮珯鐐瑰拰鎵樼洏鐮佷笉鑳戒负绌�");
+ }
+ List<Task> tasks = taskService.selectList(new EntityWrapper<Task>().eq("source_sta_no", sourceStaNo).eq("barcode", staNo));
+ if (tasks.size() > 0) {
+ return R.error("璇ユ墭鐩�="+staNo+"宸茬粡瀛樺湪鎼繍浠诲姟锛岃涓嶈閲嶅涓嬪彂");
+ }
+
+ String barcode = staNo.substring(0,1);
+ if(barcode.equals("3")){
+ taskNo = "307";
+ }else if(barcode.equals("4")){
+ taskNo = "402";
+ }else if(barcode.equals("5")){
+ taskNo = "401";
+ }
+
+ R r = R.ok();
+ //鐢熸垚AGV鎼繍鍑哄簱浠诲姟
+ // 淇濆瓨宸ヤ綔妗�
+ Task task = new Task();
+ Date date = new Date();
+ String TaskNo = 555555 + "aa" + date.getTime();
+ task.setWrkNo((int) date.getTime())
+ .setTaskNo(TaskNo)
+ .setIoTime(date)
+ .setWrkSts(301L) // 宸ヤ綔鐘舵�侊細301.浠诲姟涓嬪彂
+ .setIoType(3) // 鍏ュ嚭搴撶姸鎬侊細 3.绔欏埌绔� 4.绔欏埌鍖哄煙
+ .setTaskType("agv")
+ .setIoPri(10D)
+ .setFullPlt("Y") // 婊℃澘锛歒
+ .setPicking("N") // 鎷f枡
+ .setExitMk("N")// 閫�鍑�
+ .setStaNo(staNo)
+ .setSourceStaNo(taskNo)//agv鍙栬揣绔欑偣
+ .setEmptyMk("N")// 绌烘澘
+ .setBarcode(staNo)// 鎵樼洏鐮�
+ .setLinkMis("N")
+ .setAppeUser(9945L)
+ .setAppeTime(date)
+ .setModiUser(9945L)
+ .setModiTime(date);
+ if (!taskService.insert(task)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ return r;
+ }
+
+ @RequestMapping("/orderIn")
+ public synchronized R AGVOrderInReturn() {
+ List<OrderPakin> settle = orderPakinService.selectList(new EntityWrapper<OrderPakin>().in("settle", 1, 2));
+ List<String> list = new ArrayList<>();
+ for (OrderPakin orderPakin : settle) {
+ if (orderPakin.getSettle()==2){
+ List<OrderDetlPakin> orderId = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_id", orderPakin.getId()));
+ Boolean boo=true;
+ for (OrderDetlPakin orderDetlPakin : orderId) {
+ if (orderDetlPakin.getAnfme()>orderDetlPakin.getWorkQty()){
+ boo=false;
+ break;
+ }
+ }
+ if (boo) {
+ settle.remove(orderPakin);
+ }else {
+ list.add(orderPakin.getOrderNo());
+ }
+ }else {
+ list.add(orderPakin.getOrderNo());
+ }
+ }
+ return R.ok(list);
+ }
+
+ @RequestMapping("/orderOut")
+ public synchronized R AGVOrderOutReturn() {
+ List<OrderPakout> settle = orderPakoutService.selectList(new EntityWrapper<OrderPakout>().in("settle", 1, 2).eq("doc_type",11));
+ List<String> list = new ArrayList<>();
+ for (OrderPakout orderPakout: settle) {
+ if (orderPakout.getSettle()==2){
+ List<OrderDetlPakout> orderId = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderPakout.getId()));
+ Boolean boo=true;
+ for (OrderDetlPakout orderDetlPakout: orderId) {
+ if (orderDetlPakout.getAnfme()>orderDetlPakout.getWorkQty()){
+ boo=false;
+ break;
+ }
+ }
+ if (boo) {
+ settle.remove(orderPakout);
+ }else {
+ list.add(orderPakout.getOrderNo());
+ }
+ }else {
+ list.add(orderPakout.getOrderNo());
+ }
+ }
+ return R.ok(list);
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 5a603ab..b033501 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -11,6 +11,7 @@
import com.zy.common.model.LocDto;
import com.zy.common.model.TaskDto;
import com.zy.common.web.BaseController;
+import lombok.Synchronized;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -81,8 +82,8 @@
if (issued <= 0.0D) {
continue;
}
- List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist,orderDetl.getMatnr(), orderDetl.getBatch(),
- orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
+ List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist, orderDetl.getMatnr(), orderDetl.getBatch(),
+ orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3());
for (LocDetl locDetl : locDetls) {
if (issued > 0) {
LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
@@ -128,8 +129,8 @@
continue;
}
- List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist,orderDetl.getMatnr(), orderDetl.getBatch(),
- orderDetl.getBrand(),orderPakOut.getDocType()==11?null:orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
+ List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist, orderDetl.getMatnr(), orderDetl.getBatch(),
+ orderDetl.getBrand(), orderPakOut.getDocType() == 11 ? null : orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3());
for (LocDetl locDetl : locDetls) {
if (issued > 0) {
LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
@@ -172,15 +173,16 @@
return R.ok().add(locDtos);
}
+ @Synchronized
@PostMapping("/out/pakout/auth")
@ManagerAuth(memo = "璁㈠崟鍑哄簱")
- public synchronized R pakout(@RequestBody List<LocDto> locDtos) throws InterruptedException {
+ public R pakout(@RequestBody List<LocDto> locDtos) throws InterruptedException {
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){
+ for (LocDto locDto : locDtos) {
+ if (locDto.getFrozen() != 1 && locDto.getFrozenLoc() != 1) {
locDtoArrayList.add(locDto);
}
}
@@ -204,7 +206,9 @@
List<TaskDto> taskDtos = new ArrayList<>();
// 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔�
for (LocDto locDto : locDtos) {
- if (locDto.isLack()) { continue; }
+ if (locDto.isLack()) {
+ continue;
+ }
TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
if (TaskDto.has(taskDtos, taskDto)) {
TaskDto dto = TaskDto.find(taskDtos, taskDto);
@@ -223,29 +227,35 @@
//浼樺厛绾�
int ioPri = 50;
//宸蹭笅绌烘澘鍑哄簱浠诲姟鏁伴噺
- int j=1;
+ int j = 1;
// -----------------------------------------------------------------------------------------------
for (TaskDto taskDto : taskDtos) {
BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
- workService.stockOut(staNo, taskDto, getUserId(),ioPri);
+ workService.stockOut(staNo, taskDto, getUserId(), ioPri);
ioPri--;
i++;
//閰嶇洏鍑哄簱鍗曚娇鐢紝涓嬪彂闇�瑕佸嚭鐨勭┖鏉夸换鍔�
if (orderPakout.getDocType() == 11) {
- if (i==size){
- for (;j<=orderPakout.getPayType();j++){
- String bar="";
+ 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(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"));
- }else {
- locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_sts", "D").like("barcode", bar));
+ LocMast locMast = new LocMast();
+ if (Cools.isEmpty(bar)) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType));
+ } else {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).like("barcode", bar));
}
if (Cools.isEmpty(locMast)) {
@@ -254,29 +264,38 @@
String locNo = locMast.getLocNo();
EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
emptyPlateOutParam.setOutSite(303);
- emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locNo);}});
+ emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
+ add(locNo);
+ }});
String agvSta = "";
- if(locMast.getLocType3()==2){
+ if (locMast.getLocType3() == 2) {
- }else {
+ } else {
agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
}
- WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri,agvSta);
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam, ioPri, agvSta);
ioPri--;
}
- }else if(i == 4){
- String bar="";
- if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
+ } 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"));
- }else {
- locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_sts", "D").like("barcode", bar));
+ if (Cools.isEmpty(bar)) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType));
+ } else {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).like("barcode", bar));
}
if (Cools.isEmpty(locMast)) {
@@ -285,19 +304,91 @@
String locNo = locMast.getLocNo();
EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
emptyPlateOutParam.setOutSite(303);
- emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locNo);}});
+ emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
+ add(locNo);
+ }});
String agvSta = "";
- if(locMast.getLocType3()==2){
+ if (locMast.getLocType3() == 2) {
- }else {
+ } else {
agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
}
- WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri,agvSta);
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam, ioPri, agvSta);
ioPri--;
+ j++;
}
}
}
return R.ok();
}
+ @PostMapping("/out/pakout/preview/auth1")
+ @ManagerAuth
+ public R pakoutPreview1(@RequestBody String orderNo) throws InterruptedException {
+ if (Cools.isEmpty(orderNo)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
+
+ if (orderDetlPakouts.size() == 0) {
+ return R.parse("璁㈠崟鏄庣粏涓虹┖");
+ }
+
+ List<LocDto> locDtos = new ArrayList<>();
+
+ Set<String> exist = new HashSet<>();
+
+ // 鑾峰彇璁㈠崟涓昏〃
+ OrderPakout orderPakOut = orderPakOutService.selectByNo(orderDetlPakouts.get(0).getOrderNo());
+
+ for (OrderDetlPakout orderDetl : orderDetlPakouts) {
+ double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
+ if (issued <= 0.0D) {
+ continue;
+ }
+
+ List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist, orderDetl.getMatnr(), orderDetl.getBatch(),
+ orderDetl.getBrand(), orderPakOut.getDocType() == 11 ? null : orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3());
+ for (LocDetl locDetl : locDetls) {
+ if (issued > 0) {
+ LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
+ issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
+ locDto.setFrozen(locDetl.getFrozen());
+ locDto.setFrozenLoc(locMast.getFrozen());
+ List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
+ locDto.setStaNos(staNos);
+ 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());
+ locDtos.add(locDto);
+ exist.add(locDetl.getLocNo());
+ // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+ issued = issued - locDetl.getAnfme();
+ } else {
+ break;
+ }
+ }
+ 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);
+ }
+ }
+ R pakout = pakout(locDtos);
+ return R.ok().add(pakout);
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/entity/LocMast.java b/src/main/java/com/zy/asrs/entity/LocMast.java
index c9c6ba9..0e6e9e4 100644
--- a/src/main/java/com/zy/asrs/entity/LocMast.java
+++ b/src/main/java/com/zy/asrs/entity/LocMast.java
@@ -209,6 +209,9 @@
@TableField("frozen_memo")
private String frozenMemo;
+ @ApiModelProperty(value= "鎷嶇収鍥剧墖")
+ private String pic;
+
public String getWhsType$(){
BasWhsTypeService service = SpringUtils.getBean(BasWhsTypeService.class);
diff --git a/src/main/java/com/zy/asrs/entity/Task.java b/src/main/java/com/zy/asrs/entity/Task.java
index aff7888..8178f9a 100644
--- a/src/main/java/com/zy/asrs/entity/Task.java
+++ b/src/main/java/com/zy/asrs/entity/Task.java
@@ -135,6 +135,10 @@
@ApiModelProperty(value= "鏂欐灦鍙�")
private String packed;
+ @ApiModelProperty(value= "涓嬪彂AGV浠诲姟璁℃暟")
+ @TableField("ctn_type")
+ private Integer ctnType=0;
+
/**
* 鎷f枡
*/
@@ -173,10 +177,6 @@
@ApiModelProperty(value= "宸ヤ綔鏃堕棿")
@TableField("io_time")
private Date ioTime;
-
- @ApiModelProperty(value= "")
- @TableField("ctn_type")
- private Integer ctnType;
@ApiModelProperty(value= "")
@TableField("ove_mk")
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index daf4250..e301b8e 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -332,6 +332,9 @@
@TableField("task_no")
private String taskNo;
+ @ApiModelProperty(value= "鎷嶇収鍥剧墖")
+ private String pic;
+
public WrkMast() {}
public String getYmd$(){
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastLog.java b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
index 820f59d..800bda2 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
@@ -327,6 +327,9 @@
@TableField("take_none")
private String takeNone;
+ @ApiModelProperty(value= "鎷嶇収鍥剧墖")
+ private String pic;
+
public WrkMastLog() {
}
diff --git a/src/main/java/com/zy/asrs/entity/digitaltwin/DtOrderVo.java b/src/main/java/com/zy/asrs/entity/digitaltwin/DtOrderVo.java
index b2f206a..d3c8e47 100644
--- a/src/main/java/com/zy/asrs/entity/digitaltwin/DtOrderVo.java
+++ b/src/main/java/com/zy/asrs/entity/digitaltwin/DtOrderVo.java
@@ -3,13 +3,17 @@
import lombok.Builder;
import lombok.Data;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.util.Date;
+
// 鏁板瓧瀛敓锛氭寜澶╄鍗曟暟閲�
@Data
@Builder
+// DtOrderVo.java
public class DtOrderVo {
- // 鏃ユ湡
- private String orderDate;
- // 璁㈠崟鏁伴噺
+ private String orderDate; // 鎴� LocalDate
private Integer orderNum;
+
}
diff --git a/src/main/java/com/zy/asrs/entity/digitaltwin/LocPicDto.java b/src/main/java/com/zy/asrs/entity/digitaltwin/LocPicDto.java
new file mode 100644
index 0000000..0281c39
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/digitaltwin/LocPicDto.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.entity.digitaltwin;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class LocPicDto {
+ private String locNo;
+
+ private List<String> pics;
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index ac07e41..77f6da8 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -19,6 +19,9 @@
// 搴撲綅缂栧彿
private String locNo;
+ //agv鍘熺珯鐐�
+ private String rsta;
+
private List<CombMat> combMats;
@Data
diff --git a/src/main/java/com/zy/asrs/entity/rcs/RcsTaskSubmit.java b/src/main/java/com/zy/asrs/entity/rcs/RcsTaskSubmit.java
index eed3e7f..15a7e79 100644
--- a/src/main/java/com/zy/asrs/entity/rcs/RcsTaskSubmit.java
+++ b/src/main/java/com/zy/asrs/entity/rcs/RcsTaskSubmit.java
@@ -9,7 +9,7 @@
public class RcsTaskSubmit {
// 浠诲姟绫诲瀷锛屾灇涓惧�硷細TRANSPORT鎼繍銆�
- private String taskType = "TRANSPORT";
+ private String taskType = "CS3";
// 鎵ц姝ラ闆嗗悎銆傛湰娆′换鍔℃満鍣ㄤ汉闇�瑕佹墽琛岀殑鍏抽敭璺緞锛屽簭鍙�0浠h〃璧风偣锛屽簭鍙�1浠h〃缁堢偣銆�
private List<RcsTaskTargetRoute> targetRoute;
// 浠诲姟鍞竴缂栧彿,濡傛灉涓虹┖锛岀郴缁熺敓鎴愪换鍔″彿骞惰繑鍥炪��
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 ede00fc..32bb716 100644
--- a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -74,7 +74,9 @@
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) {
+ dtOrderVo.setOrderDate(dtOrderVo.getOrderDate());
+ }
return dbOrder;
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 9b1f3f4..d19ab06 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -733,7 +733,7 @@
Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, orderNo);
OrderInAndOutUtil.updateOrder(Boolean.TRUE, order.getId(), 2L, userId);
});
- if(!Cools.isEmpty(param.getLocNo())){
+ if(!Cools.isEmpty(param.getRsta()) && param.getRsta().contains("-")){
//鐢熸垚AGV鎼繍浠诲姟
//鐢熸垚AGV鎼繍鍑哄簱浠诲姟
// 淇濆瓨宸ヤ綔妗�
@@ -741,14 +741,14 @@
Date date = new Date();
String s = "";
if (param.getBarcode().charAt(0) == '3'){
- s = "307";
+ s = "Z-307";
}else if (param.getBarcode().charAt(0) == '4'){
- s = "401";
+ s = "Z-402";
}else if (param.getBarcode().charAt(0) == '5'){
- s = "402";
+ s = "Z-401";
}
- String TaskNo = param.getBarcode()+"-"+date.getTime();
- task.setWrkNo(Integer.getInteger(param.getBarcode()))
+ String TaskNo = param.getBarcode()+"aa"+date.getTime();
+ task.setWrkNo((int) date.getTime())
.setTaskNo(TaskNo)
.setIoTime(date)
.setWrkSts(301L) // 宸ヤ綔鐘舵�侊細301.浠诲姟涓嬪彂
@@ -759,7 +759,7 @@
.setPicking("N") // 鎷f枡
.setExitMk("N")// 閫�鍑�
.setStaNo(s)
- .setSourceStaNo(param.getLocNo())//绌烘枡鏋剁紦瀛樺尯E1
+ .setSourceStaNo(param.getRsta())//agv鍙栬揣浣�
.setEmptyMk("N")// 绌烘澘
.setBarcode(param.getBarcode())// 鎵樼洏鐮�
.setLinkMis("N")
@@ -1334,11 +1334,12 @@
//婊戝潡搴�
if(locMast.getLocType3()==1){
if(locMast.getLocType2()==1){
-
-
+ sta = "Z-402";
+ }else if(locMast.getLocType2()==2){
+ sta = "Z-401";
}
}else if(locMast.getLocType3()==2){
- sta="307";
+ sta="Z-307";
}
// 鑾峰彇璺緞
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
index a69e0a4..bbc3986 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
@@ -100,6 +100,7 @@
orderDetl.setCreateBy(order.getCreateBy());
orderDetl.setUpdateTime(order.getUpdateTime());
orderDetl.setUpdateBy(order.getUpdateBy());
+ orderDetl.setBarcode(wrkDetl.getZpallet());
if (!orderDetlPakinService.insert(orderDetl)) {
throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
}
diff --git a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
index e77e4a2..46facd4 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -233,7 +233,7 @@
RcsReturn rcsReturn = JSONObject.parseObject(response, RcsReturn.class);
if("SUCCESS".equals(rcsReturn.getCode())||"200".equals(rcsReturn.getCode())) {
JSONObject data = rcsReturn.getData();
- String robotTaskCode = data.getString("RobotTaskCode");
+ String robotTaskCode = data.getString("robotTaskCode");
if (robotTaskCode.equals(rcsTaskSubmit.getRobotTaskCode())){
return 1;
}
@@ -327,6 +327,8 @@
String robotTaskCode = rcsReporterTask.getRobotTaskCode();
String singleRobotCode = rcsReporterTask.getSingleRobotCode();
+ String[] split = robotTaskCode.split("-");
+ robotTaskCode = split[0];
//鍗庢檽AGV鐘舵�佸弽棣堬紝鍙婄敵璇�
if(Cools.isEmpty(rcsReporterTask.getExtra())){
if(Cools.isEmpty(rcsReporterTask.getMethod())){
diff --git a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
index 2c0a156..6f7c6b0 100644
--- a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
@@ -67,7 +67,7 @@
// 淇濆瓨宸ヤ綔妗�
Task task = new Task();
Date date = new Date();
- String TaskNo = wrkMast.getWrkNo() + "-" + date.getTime();
+ String TaskNo = wrkMast.getWrkNo() + "aa" + date.getTime();
task.setWrkNo(wrkMast.getWrkNo())
.setTaskNo(TaskNo)
.setIoTime(date)
@@ -78,8 +78,8 @@
.setFullPlt("Y") // 婊℃澘锛歒
.setPicking("N") // 鎷f枡
.setExitMk("N")// 閫�鍑�
- .setStaNo(stnNo)
- .setSourceStaNo(wrkMast.getSourceStaNo())//绌烘枡鏋剁紦瀛樺尯E1
+ .setStaNo(wrkMast.getMemo())
+ .setSourceStaNo("Z-"+wrkMast.getSourceStaNo())
.setEmptyMk("N")// 绌烘澘
.setBarcode(wrkMast.getBarcode())// 鎵樼洏鐮�
.setLinkMis("N")
@@ -123,7 +123,7 @@
//濡傛灉鏄帴椹崇珯鐐瑰垯闇�瑕佸垽鏂帴椹崇珯鐐规槸鍚︽湁绌烘枡鏋�
//濡傛灉鏈夌┖鏂欐灦闇�瑕佸垽鏂槸鍚︽湁鍑哄簱浠诲姟
//鏈夊嚭搴撲换鍔″垯绂佹涓嬪彂鏈鎼繍浠诲姟
- if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
+ if (task.getStaNo().equals("Z-401") || task.getStaNo().equals("Z-402") || task.getStaNo().equals("Z-307")) {
BasDevp basDevp = basDevpService.checkSiteStatus(Integer.parseInt(task.getStaNo()));
if (basDevp != null && !Cools.isEmpty(basDevp.getInreq1()) && basDevp.getInreq1().equals("Y")) {
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
@@ -139,13 +139,13 @@
//鐢熸垚AGV鎼繍鍑哄簱浠诲姟
// 淇濆瓨宸ヤ綔妗�
String SourceStaNo = "";
- if (task.getStaNo().equals("401")) {
+ if (task.getStaNo().equals("Z-401")) {
//澶ф枡鏋剁紦鍐插尯
- SourceStaNo = "E3";
- }else if (task.getStaNo().equals("402")) {
- SourceStaNo = "E2";
- }else if (task.getStaNo().equals("307")) {
- SourceStaNo = "E1";
+ SourceStaNo = "Q-E3";
+ }else if (task.getStaNo().equals("Z-402")) {
+ SourceStaNo = "Q-E2";
+ }else if (task.getStaNo().equals("Z-307")) {
+ SourceStaNo = "Q-E1";
}
Task task3 = new Task();
Date date = new Date();
@@ -183,10 +183,18 @@
if (!start.isSuccess()) {
task.setUpdMk("X");
task.setErrorMemo(start.getMsg());
+ task.setCtnType(task.getCtnType()+1);//涓嬪彂浠诲姟璁℃暟
task.setModiTime(new Date());
if (!taskService.updateById(task)) {
log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", task.getWrkNo());
}
+ }else {
+ task.setCtnType(task.getCtnType()+1);
+ task.setModiTime(new Date());
+ task.setWrkSts(302L);//浠诲姟鎵ц涓�
+ if (!taskService.updateById(task)) {
+ log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", task.getWrkNo());
+ }
}
}
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 69cab94..62af1a2 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -179,7 +179,7 @@
void otherInOrderCompleteReport() {
String erpReport = Parameter.get().getErpReport();
if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
- OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("settle", 4)
+ OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().ne("doc_type",1).eq("settle", 4)
.ne("doc_type", 1).orderBy("update_time"));
if (orderPakin == null) {
return;
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 2dd58e0..e2a9c29 100644
--- a/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java
@@ -37,21 +37,48 @@
}else if(task.getIoType()==5){
SourceStaNoType = "ZONE";
}
+ String taskType = "CS3";
+ Boolean flag1 = false;
+ Boolean flag2 = false;
+ if(task.getStaNo().equals("Z-401")|| task.getStaNo().equals("Z-402")|| task.getStaNo().equals("Z-307")){
+ taskType = "YLIN";
+ flag1 = true;
+ }
+ if (task.getSourceStaNo().equals("Z-401")|| task.getSourceStaNo().equals("Z-402")|| task.getSourceStaNo().equals("Z-307")){
+ taskType = "YLOUT";
+ flag2 = true;
+ }
+ if(flag1&&flag2){
+ taskType = "YLBOTH";
+ }
+ //AGV鍖哄煙涓棤娉曠敤-
+ String StaNo = task.getStaNo();
+ String SourceStaNo = task.getSourceStaNo();
+ if (task.getStaNo().split("-")[0].equals("Q")) {
+ String[] split = task.getStaNo().split("-");
+ StaNo = split[0]+split[1];
+ }
+ if (task.getSourceStaNo().split("-")[0].equals("Q")) {
+ String[] split = task.getStaNo().split("-");
+ SourceStaNo = split[0]+split[1];
+ }
+
// 涓嬪彂缁橰CS
RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
- rcsTaskSubmit.setRobotTaskCode(task.getTaskNo());
+ rcsTaskSubmit.setTaskType(taskType);
+ rcsTaskSubmit.setRobotTaskCode(task.getTaskNo()+"-"+task.getCtnType());
rcsTaskSubmit.setInitPriority(10); //榛樿10
List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute();
startRoute.setSeq(0);
startRoute.setType(SourceStaNoType);
- startRoute.setCode(task.getSourceStaNo());
+ startRoute.setCode(SourceStaNo);
startRoute.setOperation("COLLECT");
targetRouteList.add(startRoute);
RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute();
endRoute.setSeq(1);
endRoute.setType(TargetStaNoType);
- endRoute.setCode(task.getStaNo());
+ endRoute.setCode(StaNo);
endRoute.setOperation("DELIVERY");
targetRouteList.add(endRoute);
rcsTaskSubmit.setTargetRoute(targetRouteList);
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 d715373..3b1dfc1 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -93,6 +93,7 @@
locMast.setLocSts("D");
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setPic(wrkMast.getPic());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -177,6 +178,7 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setPic(wrkMast.getPic());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -285,6 +287,7 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setPic(wrkMast.getPic());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -354,6 +357,7 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setPic(wrkMast.getPic());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -391,6 +395,7 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setPic(wrkMast.getPic());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -413,8 +418,10 @@
}
}
// 淇敼婧愬簱浣嶇姸鎬� ==> O
+ String picUrl = "";
LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
if (null != sourceLoc) {
+ picUrl = sourceLoc.getPic();
sourceLoc.setBarcode("");
sourceLoc.setLocSts("O");
sourceLoc.setModiTime(now);
@@ -430,6 +437,7 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setPic(picUrl);
if (!locMastService.updateById(locMast)) {
// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index f3e11a4..2e71070 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -227,9 +227,9 @@
if (Cools.isEmpty(matnr)) {
return null;
}
- for (DetlDto detlDto : detlDtos) {
+ for (DetlDto detlDto : detlDtos) {//&& standby1.equals(detlDto.getStandby1())
if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch())
- && brand.equals(detlDto.getBrand()) && standby1.equals(detlDto.getStandby1())
+ && brand.equals(detlDto.getBrand())
&& standby2.equals(detlDto.getStandby2()) && standby3.equals(detlDto.getStandby3())
&& boxType1.equals(detlDto.getBoxType1()) && boxType2.equals(detlDto.getBoxType2())
&& boxType3.equals(detlDto.getBoxType3())) {
diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java
index 36a5aa3..af369cf 100644
--- a/src/main/java/com/zy/common/model/TaskDto.java
+++ b/src/main/java/com/zy/common/model/TaskDto.java
@@ -71,14 +71,14 @@
// 姹囨�讳笉鑰冭檻搴忓垪鐮�
List<DetlDto> detlDtos = new ArrayList<>();
for (LocDto locDto : this.getLocDtos()) {
- DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(),locDto.getBrand(),locDto.getStandby1(),locDto.getStandby2(),locDto.getStandby3(),locDto.getBoxType1(),locDto.getBoxType2(),locDto.getBoxType3(), locDto.getAnfme());
+ DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(),locDto.getBrand(),null,locDto.getStandby2(),locDto.getStandby3(),locDto.getBoxType1(),locDto.getBoxType2(),locDto.getBoxType3(), locDto.getAnfme());
if (DetlDto.has(detlDtos, dto)) {
- DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getBoxType1(),dto.getBoxType2(),dto.getBoxType3());
+ DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch(),dto.getBrand(),null,dto.getStandby2(),dto.getStandby3(),dto.getBoxType1(),dto.getBoxType2(),dto.getBoxType3());
assert detlDto != null;
detlDto.setAnfme(detlDto.getAnfme() + locDto.getAnfme());
} else {
detlDtos.add(new DetlDto(locDto.getMatnr(), locDto.getBatch()
- ,locDto.getBrand(),locDto.getStandby1(),locDto.getStandby2(),locDto.getStandby3(),locDto.getBoxType1(),locDto.getBoxType2(),locDto.getBoxType3()
+ ,locDto.getBrand(),null,locDto.getStandby2(),locDto.getStandby3(),locDto.getBoxType1(),locDto.getBoxType2(),locDto.getBoxType3()
, locDto.getAnfme()));
}
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 1e70885..9f0f009 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -129,6 +129,9 @@
#鎵樼洏鐗╂枡鍙�
zpalletId: tuopan
+wcs:
+ url: 127.0.0.1:9094/wcs
+
#mes瀵规帴
mes:
@@ -139,7 +142,7 @@
#娴峰悍瀵规帴
hik:
switch: true
- url: http://172.26.11.98:80/
+ url: http://172.26.11.98:80/rcs/rtas/
#鍗庢檽瀵规帴
hx:
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index cae15d0..ba7589d 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -36,6 +36,7 @@
<result column="ctn_no" property="ctnNo" />
<result column="frozen" property="frozen" />
<result column="frozen_memo" property="frozenMemo" />
+ <result column="pic" property="pic" />
</resultMap>
<select id="queryFreeLocMast" resultMap="BaseResultMap">
diff --git a/src/main/resources/mapper/ViewDigitalTwinMapper.xml b/src/main/resources/mapper/ViewDigitalTwinMapper.xml
index 4f909df..bc08c3f 100644
--- a/src/main/resources/mapper/ViewDigitalTwinMapper.xml
+++ b/src/main/resources/mapper/ViewDigitalTwinMapper.xml
@@ -3,6 +3,13 @@
"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'
@@ -32,10 +39,26 @@
</select>
<select id="recentOrder" resultType="com.zy.asrs.entity.digitaltwin.DtOrderVo">
- SELECT CONVERT(VARCHAR, order_time, 23) as orderDate, COUNT(*) AS orderNum
- FROM man_order
+
+ SELECT
+ FORMAT(orderDate, 'yyyyMMdd') as orderDate,
+ COUNT(*) as orderNum
+ FROM (
+ SELECT
+ CAST(order_time AS DATE) as orderDate
+ FROM man_order_pakin
WHERE order_time BETWEEN #{startTime} AND #{endTime}
- GROUP BY CONVERT(VARCHAR, order_time, 23)
+
+ UNION ALL
+
+ SELECT
+ CAST(order_time AS DATE) as orderDate
+ FROM man_order_pakout
+ WHERE order_time BETWEEN #{startTime} AND #{endTime}
+ ) combined
+ GROUP BY orderDate
+ ORDER BY orderDate
+
</select>
<select id="recentInBound" resultType="com.zy.asrs.entity.digitaltwin.DtInAndOutBoundVo">
diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/WrkMastLogMapper.xml
index 8086afb..b7a61ef 100644
--- a/src/main/resources/mapper/WrkMastLogMapper.xml
+++ b/src/main/resources/mapper/WrkMastLogMapper.xml
@@ -61,6 +61,7 @@
<result column="full_plt" property="fullPlt" />
<result column="pre_have" property="preHave" />
<result column="take_none" property="takeNone" />
+ <result column="pic" property="pic" />
</resultMap>
<sql id="queryWhere">
<where>
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 83c4cce..0b853b2 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -60,6 +60,7 @@
<result column="full_plt" property="fullPlt" />
<result column="pre_have" property="preHave" />
<result column="take_none" property="takeNone" />
+ <result column="pic" property="pic" />
</resultMap>
<select id="selectToBeCompleteData" resultMap="BaseResultMap">
diff --git a/src/main/webapp/static/js/stoMan/stoQue.js b/src/main/webapp/static/js/stoMan/stoQue.js
index 95d3552..034eebb 100644
--- a/src/main/webapp/static/js/stoMan/stoQue.js
+++ b/src/main/webapp/static/js/stoMan/stoQue.js
@@ -56,7 +56,7 @@
,{field: 'locType3$', align: 'center',title: '杞婚噸绫诲瀷', hide:true}
,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide:true}
,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', width: 180, hide:false}
- ,{ fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate'}
+ ,{ fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 180}
]],
request: {
pageName: 'curr',
@@ -181,6 +181,46 @@
}
locDetlToLayer(data.locNo);
break;
+ case 'showPic':
+ let imgHtml = '<div style="height:100%;display: flex;justify-content: space-around;align-items: center;flex-wrap: wrap;">';
+ $.ajax({
+ url: baseUrl+"/locMast/picUrl",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ locNo: data.locNo
+ },
+ method: 'GET',
+ traditional:true,
+ success: function (res) {
+ if (res.code === 200){
+ res.data.forEach((item) => {
+ let locNo = item.locNo;
+ let pics = item.pics;
+ pics.forEach((pic) => {
+ let tmp = '<div><div><img width="600" src="' + pic + '" /></div><div>' + locNo + '</div></div>';
+ imgHtml += tmp;
+ })
+ })
+ imgHtml += "</div>";
+
+ layer.open({
+ type: 1,
+ title: '鏌ョ湅鍥剧墖',
+ area: [top.detailWidth, top.detailHeight],
+ shadeClose: true,
+ content: imgHtml,
+ success: function(layero, index){
+ }
+ });
+
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ });
+ break;
}
});
diff --git a/src/main/webapp/views/stoMan/stoQue.html b/src/main/webapp/views/stoMan/stoQue.html
index 698bc72..96bde44 100644
--- a/src/main/webapp/views/stoMan/stoQue.html
+++ b/src/main/webapp/views/stoMan/stoQue.html
@@ -105,6 +105,7 @@
<script type="text/html" id="operate">
<a class="layui-btn layui-btn-xs loc-detl" lay-event="locDetl">鏌ョ湅鏄庣粏</a>
+ <a class="layui-btn layui-btn-xs loc-detl" lay-event="showPic">鏌ョ湅鍥剧墖</a>
</script>
<!--鏄庣粏琛�-->
--
Gitblit v1.9.1