自动化立体仓库 - WMS系统
skyouc
1 天以前 49c0ee7ab5868d64ccb9a6314485bd7e06dc1ead
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,21 +1,25 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.Task;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.OpenService;
import com.zy.asrs.service.TaskService;
import com.zy.asrs.service.WrkMastService;
import com.zy.common.model.DetlDto;
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.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
 * Created by vincent on 2022/4/8
@@ -33,8 +37,78 @@
    @Autowired
    private OpenService openService;
    @Autowired
    private TaskService taskService;
    @PostMapping("/agvPickupComplete/agvCallback")
    @AppAuth(memo = "AGV取货完成接口")
    public Map<String, Object> agvPickupComplete(@RequestBody AgvTaskParam agvTaskParam, HttpServletRequest request) {
        //        DecimalFormat df = new DecimalFormat("0000");
        //        String wrkNo = "Ctu"+df.format(param.getWrkNo())+date.getTime()/1000;
        String wrkNo = agvTaskParam.getTaskCode().substring(3,7);
        Task task = taskService.selectOne(new EntityWrapper<Task>().eq("wrk_no", Integer.parseInt(wrkNo)));
        if (Cools.isEmpty(task)) {
            log.error("未查询到任务号对应的数据");
        }
        task.setWrkSts(0L);
        taskService.updateById(task);
        HashMap<String, Object> map = new HashMap<>();
        map.put("code","0");
        map.put("message","成功");
        map.put("reqCode", "");
        log.info("agv请求取货完成,wms任务号:"+ JSON.toJSONString(agvTaskParam));
        return map;
    }
    @PostMapping("/agvTaskComplete/agvCallback")
    @AppAuth(memo = "AGV放货完成接口")
    public Map<String, Object> agvTaskComplete(@RequestBody AgvTaskParam agvTaskParam,HttpServletRequest request) {
        HashMap<String, Object> map = new HashMap<>();
        String wrkNo = agvTaskParam.getTaskCode().substring(3,7);
        Task task = taskService.selectOne(new EntityWrapper<Task>().eq("wrk_no", Integer.parseInt(wrkNo)));
        if (Cools.isEmpty(task)) {
            log.error("未查询到任务号对应的数据");
        }
        taskService.updateById(task);
        if (task.getIoType() < 100 ){
            task.setWrkSts(4L);
        }else {
            task.setWrkSts(14L);
        }
        taskService.updateById(task);
        map.put("code","0");
        map.put("message","成功");
        map.put("reqCode", "");
        return map;
    }
    @PostMapping("/order/matSync/default/v2")
//    @AppAuth(memo = "商品信息同步接口")
    public synchronized R syncMatInfoV2(@RequestHeader(required = false) String appkey,
                                      @RequestBody(required = false) MatSyncParam.MatParam param,
                                      HttpServletRequest request){
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        MatSyncParam matSyncParam = new MatSyncParam();
        List<MatSyncParam.MatParam> objects = new ArrayList<>();
        objects.add(param);
        matSyncParam.matDetails = objects;
        openService.syncMat(matSyncParam);
        return R.ok();
    }
    @PostMapping("/order/matSync/default/v1")
    @AppAuth(memo = "商品信息同步接口")
//    @AppAuth(memo = "商品信息同步接口")
    public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
                                      @RequestBody(required = false) MatSyncParam param,
                                      HttpServletRequest request){
@@ -63,6 +137,24 @@
//        return R.ok();
//    }
    @PostMapping("/order/adjustment/default/v1")
    public synchronized R adjustmentOrderCreate(@RequestHeader(required = false) String appkey,
                                           @RequestBody OpenAdjustmentOrderParam param,
                                           HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getOrderNo())) {
            return R.error("单据编号[orderNo]不能为空");
        }
        if (Cools.isEmpty(param.getOrderDetails())) {
            return R.error("单据明细[orderDetails]不能为空");
        }
        openService.adjustmentOrderCreate(param);
        return R.ok();
    }
    /**
     * 添加入库单
     */
@@ -90,7 +182,7 @@
    /**
     * 入库单回写
     */
    @PostMapping("/order/pakin/complete/default/v1")
//    @PostMapping("/order/pakin/complete/default/v1")
    public synchronized R orderPakinComplete(@RequestHeader(required = false) String appkey,
                                             @RequestBody(required = false) OpenOrderCompleteParam param,
                                             HttpServletRequest request) {
@@ -126,7 +218,7 @@
    /**
     * 出库单回写
     */
    @PostMapping("/order/pakout/complete/default/v1")
//    @PostMapping("/order/pakout/complete/default/v1")
    public synchronized R orderPakoutComplete(@RequestHeader(required = false) String appkey,
                                              @RequestBody(required = false) OpenOrderCompleteParam param,
                                              HttpServletRequest request) {