From 3bf6f972604761c9ac59a2cb9ea01eeacaec2189 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期六, 28 三月 2026 15:43:51 +0800
Subject: [PATCH] 更新为正式部署许可证
---
src/main/java/com/zy/asrs/controller/MesController.java | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 172 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MesController.java b/src/main/java/com/zy/asrs/controller/MesController.java
index 92c13b4..52b6720 100644
--- a/src/main/java/com/zy/asrs/controller/MesController.java
+++ b/src/main/java/com/zy/asrs/controller/MesController.java
@@ -2,17 +2,32 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.AppAuth;
+import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
+import com.core.common.R;
import com.core.exception.CoolException;
+import com.zy.asrs.entity.CanFin;
+import com.zy.asrs.entity.Task;
+import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.mes.*;
+import com.zy.asrs.entity.param.CombParam;
+import com.zy.asrs.mapper.CanFinMapper;
import com.zy.asrs.service.MesService;
+import com.zy.asrs.service.MobileService;
+import com.zy.asrs.service.TaskService;
+import com.zy.asrs.service.WrkMastService;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
@RestController
@Slf4j
@@ -20,6 +35,15 @@
@Resource
private MesService mesService;
+
+ @Autowired
+ private MobileService mobileService;
+ @Autowired
+ private WrkMastService wrkMastService;
+ @Autowired
+ private TaskService taskService;
+ @Autowired
+ private CanFinMapper canFinMapper;
private void auth(String appkey, Object obj, HttpServletRequest request) {
log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getRequestURI(), appkey, JSON.toJSONString(obj));
@@ -29,12 +53,17 @@
// 鐗╂枡淇℃伅鍚屾
@PostMapping("/api/mes/synMatInfo")
@AppAuth(memo = "鐗╂枡淇℃伅鍚屾")
- public MesReturn synMatInfo(@RequestHeader(required = false) String appkey,@RequestBody MesMatRecvForm param, HttpServletRequest request){
- auth(appkey, param, request);
+// public MesReturn synMatInfo(@RequestHeader(required = false) String appkey, @RequestBody List<MesMatRecvForm> params, HttpServletRequest request){
+ public MesReturn synMatInfo(@RequestHeader(required = false) String appkey, @RequestBody MesMatRecvForm params, HttpServletRequest request){
+ auth(appkey, params, request);
MesReturn mesReturn = new MesReturn();
try {
- mesReturn = mesService.matInfoAndInBound(param);
+// for (MesMatRecvForm param : params){
+// mesReturn = mesService.matInfoAndInBound(param);
+// }
+ mesReturn = mesService.matInfoAndInBound(params);
} catch (Exception e) {
+ log.error(String.valueOf(e));
mesReturn.setSuccess("2");
mesReturn.setMessage("鐗╂枡淇℃伅鍚屾澶辫触");
}
@@ -50,7 +79,7 @@
return mesReturn;
}
- // 鍑哄簱鐢宠锛堝彨鏂欙級锛岃閰嶅簱銆佹粦鍧楀簱
+// // 鍑哄簱鍏ュ簱璁㈠崟鐢宠
@PostMapping("/api/mes/callOutBoundOrder")
public MesReturn callOutBoundOrder(@RequestBody MesCallOutApply param){
@@ -71,14 +100,12 @@
// 鍏ョ珯鍏佽
@PostMapping("/api/mes/allowInStation")
public MesReturn allowInStation(@RequestBody TransInOutStationAllow param){
-
return mesService.allowInStation(param);
}
// 绂荤珯鍏佽锛岃閰嶅簱銆佹粦鍧楀簱
@PostMapping("/api/mes/allowOutStation")
public MesReturn allowOutStation(@RequestBody TransInOutStationAllow param){
-
return mesService.allowOutStation(param);
}
@@ -120,4 +147,143 @@
return mesService.queryInventory(itemno,orderNo);
}
+ /**
+ * MES璋冪敤PDA鐨凙GV璁㈠崟鍏ュ簱鎺ュ彛
+ * @param combParam
+ * @return
+ */
+ @RequestMapping("/comb/auth")
+ @ManagerAuth(memo = "缁勬墭")
+ public R comb(@RequestBody CombParam combParam){
+ log.info("=============== MES涓嬪彂缁勬墭璁㈠崟 ===============");
+ log.info("{}", combParam);
+ log.info("=============== MES涓嬪彂缁勬墭璁㈠崟 ===============");
+ if (combParam.getUserId() != null && !combParam.getUserId().equals(null)){
+ mobileService.comb(combParam, combParam.getUserId());
+ }else {
+ mobileService.comb(combParam, getUserId());
+ }
+ return R.ok("缁勬墭鎴愬姛");
+ }
+
+ /**
+ * MES璋冪敤PDA鐨勮ˉ绌烘澘
+ *
+ * @param locNo 鐩爣绔欑偣
+ * @param size 鎵樼洏澶у皬 1锛氬皬鎵樼洏 2锛氬ぇ鎵樼洏
+ * @return
+ */
+ @PostMapping("/callEmptyBinOutBound")
+ public synchronized R callEmptyBinOutBound(@RequestParam(required = false) String locNo
+ , @RequestParam(required = false) String size
+ , @RequestParam(required = false) String palletFormat
+ , @RequestParam(required = false) String agvTaskNo) {
+ if (Cools.isEmpty(locNo) || Cools.isEmpty(size)) {
+ return R.error("绔欑偣鎴栬�呭ぇ灏忎笉鑳戒负绌�");
+ }
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("memo", locNo));
+ if (wrkMast != null) {
+ return R.error("璇ョ珯鐐�="+locNo+"宸茬粡鏈夌┖鏉垮嚭搴撲换鍔★紝涓轰簡涓嶅牭濉炲爢鍨涙満鎺ラ┏绔欑偣锛岀姝笅鍙戝涓┖鏉垮嚭搴撲换鍔�");
+ }
+ return mobileService.callEmptyBinOutBound(locNo, size, palletFormat, agvTaskNo, 9995L);
+ }
+
+
+ /**
+ * 绌烘澘鍥炲簱鎴栬�呮嫞鏂欏洖搴�
+ *
+ * @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(taskNo)
+ .setSourceStaNo(sourceStaNo)//agv鍙栬揣绔欑偣
+ .setEmptyMk("N")// 绌烘澘
+ .setBarcode(staNo)// 鎵樼洏鐮�
+ .setLinkMis("N")
+ .setAppeUser(9945L)
+ .setAppeTime(date)
+ .setModiUser(9945L)
+ .setModiTime(date);
+ if (taskService.insert(task)) {
+ Date now = new Date();
+ CanFin canFin = new CanFin();
+ canFin.setAgvType("agv-in");
+ canFin.setInNo(TaskNo);
+ canFin.setApplyTime(now);
+ canFinMapper.insert(canFin);
+ }else{
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ return r;
+ }
+ @PostMapping("/api/mes/pauseAGV")
+ public MesReturn AGVPause(@RequestBody JSONObject param){
+ MesReturn mesReturn = new MesReturn();
+
+ String type = "STOP";
+ if (param.getString("type") != null){
+ type = "START";
+ }
+
+ switch (mesService.AGVPause(param, type)){
+ case 1:
+ mesReturn.setSuccess("1");
+ mesReturn.setMessage("AGV鏆傚仠鎴栧惎鍔ㄦ垚鍔�");
+ return mesReturn;
+ case 2:
+ mesReturn.setSuccess("1");
+ mesReturn.setMessage("娴峰悍AGV鏆傚仠鎴栧惎鍔ㄦ垚鍔�");
+ return mesReturn;
+ case 3:
+ mesReturn.setSuccess("1");
+ mesReturn.setMessage("鍗庢檽AGV鏆傚仠鎴栧惎鍔ㄦ垚鍔�");
+ return mesReturn;
+ case 4:
+ mesReturn.setSuccess("2");
+ mesReturn.setMessage("AGV鏆傚仠鎴栧惎鍔ㄨ皟鐢ㄥけ璐�");
+ return mesReturn;
+ }
+ mesReturn.setSuccess("2");
+ mesReturn.setMessage("AGV鏆傚仠鎴栧惎鍔ㄨ皟鐢ㄥけ璐�");
+ return mesReturn;
+ }
}
--
Gitblit v1.9.1