自动化立体仓库 - WMS系统
pang.jiabao
2024-08-18 9ec865af4254180c6f47c85a2ef04dd46f4ca1c4
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -2,14 +2,11 @@
import com.alibaba.fastjson.JSON;
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.param.OpenOrderCompleteParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.entity.param.PackParam;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.OpenService;
import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +14,6 @@
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -36,32 +32,133 @@
    @Autowired
    private OpenService openService;
    @PostMapping("/scrk")
    @AppAuth(memo = "GWMS调用生成入库工作档")
    public synchronized R gwmsGenerateInventory(@RequestHeader(required = false) String appkey,
                                                @RequestBody GwmsGenerateInventoryDto param,
                                                HttpServletRequest request) {
        auth(appkey, param, request);
        return R.ok(openService.gwmsGenerateInventory(param));
    }
    @PostMapping("/fxprk")
    @AppAuth(memo = "反修品入库")
    public synchronized R fxprk(@RequestHeader(required = false) String appkey,
                                                @RequestBody FxprkParam param,
                                                HttpServletRequest request) {
        auth(appkey, param, request);
        return R.ok(openService.fxprk(param));
    }
    /****************************************************************************/
    /********************************* 打包上线 **********************************/
    /****************************************************************************/
    @PostMapping("/kthl")
    @AppAuth(memo = "空托盘回流(二楼流到一楼)")
    public synchronized R kthl(@RequestHeader(required = false) String appkey,
                                @RequestBody KthlParam param,
                                HttpServletRequest request) {
        auth(appkey, param, request);
        return openService.kthl(param);
    }
    @PostMapping("/tb")
    @AppAuth(memo = "一楼贴标")
    public synchronized R tb(@RequestHeader(required = false) String appkey,
                               @RequestBody TbParam param,
                               HttpServletRequest request) {
        auth(appkey, param, request);
        return openService.tb(param);
    }
    @PostMapping("/order/pakin/new/package/v1")
    @AppAuth(memo = "打包上线接口")
    public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey,
                                            @RequestBody(required = false) PackParam param,
                                            HttpServletRequest request) {
    @PostMapping("/zxrk")
    @AppAuth(memo = "GWCS到达堆垛机入库站点请求ZWCS执行")
    public synchronized R crnExecute(@RequestHeader(required = false) String appkey,
                                     @RequestBody CrnExecuteParam param,
                                     HttpServletRequest request) {
        auth(appkey, param, request);
        return R.ok(openService.crnExecute(param));
    }
    @PostMapping("/ckrw")
    @AppAuth(memo = "ZWMS接收MES下发出库任务")
    public synchronized R zwmsOutLocWork(@RequestHeader(required = false) String appkey,
                                         @RequestBody ZwmsOutLocWorkDto param,
                                         HttpServletRequest request) {
        auth(appkey, param, request);
        return R.ok(openService.zwmsOutLocWork(param));
    }
    @PostMapping("/ckjgsb")
    @AppAuth(memo = "货物到达出库口以后,上报出库结果")
    public synchronized R outLocResultReport(@RequestHeader(required = false) String appkey,
                                             @RequestBody GhjtApiParam param,
                                             HttpServletRequest request) {
        auth(appkey, param, request);
        return R.ok(openService.outLocResultReport(param));
    }
    @PostMapping("/cpjck")
    @AppAuth(memo = "拆盘机出库接口")
    public synchronized R emptyOutLoc(@RequestHeader(required = false) String appkey,
                                      @RequestBody GhjtApiParam param,
                                      HttpServletRequest request) {
        auth(appkey, param, request);
        return R.ok(openService.emptyOutLoc(param));
    }
    @PostMapping("/zpckdw")
    @AppAuth(memo = "组盘桁架gwcs告诉zwms货物到位,zmws告诉gwcs怎么拆")
    public synchronized R zphjDw(@RequestHeader(required = false) String appkey,
                                 @RequestBody ZphjckdwParam param,
                                 HttpServletRequest request) {
        auth(appkey, param, request);
        return openService.zphjDw(param);
    }
    @PostMapping("/cdwc")
    @AppAuth(memo = "组盘桁架拆垛完成gwcs请求zwms")
    public synchronized R zphjCdwc(@RequestHeader(required = false) String appkey,
                                   @RequestBody ZphjcdwcParam param,
                                   HttpServletRequest request) {
        auth(appkey, param, request);
        return openService.zphjCdwc(param);
    }
    @PostMapping("/updateBarcode")
    @AppAuth(memo = "更新库位空托盘条码")
    public synchronized R updateBarcode(@RequestHeader(required = false) String appkey,
                                   HttpServletRequest request) {
        auth(appkey, null, request);
        openService.updateBarcode();
        return R.ok();
    }
    @PostMapping("/prodCheck")
    @AppAuth(memo = "产品合格校验,EMS调用")
    public synchronized R prodCheck(@RequestHeader(required = false) String appkey,
                                    @RequestBody List<ProdCheckParam> param,
                                        HttpServletRequest request) {
        auth(appkey, param, request);
        openService.prodCheck(param);
        return R.ok();
    }
    /*@PostMapping("/order/matSync/default/v1")
    @AppAuth(memo = "商品信息同步接口")
    public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
                                      @RequestBody(required = false) MatSyncParam param,
                                      HttpServletRequest request){
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        openService.packageUp(param);
        openService.syncMat(param);
        return R.ok();
    }
    }*/
    /**
     * 添加入库单
     */
    @PostMapping("/order/pakin/new/default/v1")
    /*@PostMapping("/order/pakin/default/v1")
    @AppAuth(memo = "添加订单入库")
    public synchronized R pakinOrderCreate(@RequestHeader(required = false) String appkey,
                                           @RequestBody OpenOrderPakinParam param,
                                           HttpServletRequest request) {
@@ -80,23 +177,23 @@
        }
        openService.pakinOrderCreate(param);
        return R.ok();
    }
    }*/
    /**
     * 入库单回写
     */
    @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) {
        auth(appkey, param, request);
        return R.ok().add(openService.pakinOrderComplete(param));
    }
    }*/
    /**
     * 添加出库单
     */
    @PostMapping("/order/pakout/new/default/v1")
    /*@PostMapping("/order/pakout/default/v1")
    @AppAuth(memo = "添加订单出库")
    public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey,
                                            @RequestBody OpenOrderPakoutParam param,
@@ -104,6 +201,12 @@
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getLgort())) {
            return R.error("单据编号[lgort]不能为空");
        }
        if (!param.getLgort().equals("5006")) {
            return R.ok();
        }
        if (Cools.isEmpty(param.getOrderNo())) {
            return R.error("单据编号[orderNo]不能为空");
@@ -116,30 +219,29 @@
        }
        openService.pakoutOrderCreate(param);
        return R.ok();
    }
    }*/
    /**
     * 出库单回写
     */
    @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) {
        auth(appkey, param, request);
        return R.ok().add(openService.pakoutOrderComplete(param));
    }
    }*/
    /**
     * 库存统计
     */
    @RequestMapping("/stock/default/v1")
    /*@RequestMapping("/stock/default/v1")
    public R queryStock(@RequestHeader(required = false) String appkey,
                        HttpServletRequest request) {
        auth(appkey, null, request);
        return R.ok().add(openService.queryStock());
    }
    }*/
    private void auth(String appkey, Object obj, HttpServletRequest request) {
        log.info("{}接口被访问;appkey:{};请求数据:{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
@@ -155,7 +257,18 @@
        }
    }
    public static void main(String[] args) {
//    @PostMapping("/cpjck")
//    @AppAuth(memo = "物料信息获取")
//    public synchronized R emptyOutLoc(@RequestHeader(required = false) String appkey,
//                                      @RequestBody GhjtApiParam param,
//                                      HttpServletRequest request) {
//        auth(appkey, param, request);
//        return R.ok(openService.emptyOutLoc(param));
//    }
    /*public static void main(String[] args) {
        // 1
        System.out.println("======================================");
        OpenOrderPakinParam param = new OpenOrderPakinParam();
@@ -192,6 +305,104 @@
        OpenOrderCompleteParam param1 = new OpenOrderCompleteParam();
        param1.setOrderNo("963001846497017856");
        System.out.println(JSON.toJSONString(param1));
    }*/
    /*...........................徐工汉云..............以下.............上饶江铜...........................*/
    /*............................Created by Monkey D. Luffy on 2023.07.19.............................*/
    /**
     * 贴标机申请获取货物信息
     */
    @PostMapping("/labeller/mat/auth/v1")
    @AppAuth(memo = "贴标机申请获取货物信息") //old需要修改
    public synchronized R labellerMat(@RequestHeader(required = false) String appkey,
                                      @RequestBody LabellerMatParam param,
                                      HttpServletRequest request) {
        auth(appkey, param, request);
        return R.ok(openService.labellerMat(param));
    }
    /**
     * 贴标机贴标完成
     */
    @PostMapping("/labeller/complete/auth/v1")
    @AppAuth(memo = "贴标机贴标完成") //old需要修改
    public synchronized R labellerComplete(@RequestHeader(required = false) String appkey,
                                           @RequestBody LabellerCompleteParam param,
                                           HttpServletRequest request) {
        auth(appkey, param, request);
        openService.labellerComplete(param);
        return R.ok();
    }
    /**
     * 中控(2楼):码垛完成下发入库信息
     */
    @PostMapping("/palletizing/complete/auth/v1")
    @AppAuth(memo = "中控(2楼):码垛完成下发入库信息")
    public synchronized R PalletizingCompleteTwoFloorParam(@RequestHeader(required = false) String appkey,
                                           @RequestBody PalletizingCompleteTwoFloorParam param,
                                           HttpServletRequest request) {
        auth(appkey, param, request);
        openService.PalletizingCompleteTwoFloorParam(param);
        return R.ok(param);
    }
    /**
     * 松盛(1楼):码垛完成下发入库信息
     */
    @PostMapping("/palletizing/complete/auth/v2")
    @AppAuth(memo = "松盛(1楼):码垛完成下发确认信号")
    public synchronized R palletizingCompleteS(@RequestHeader(required = false) String appkey,
                                              @RequestBody PalletizingCompleteParam param,
                                              HttpServletRequest request) {
        auth(appkey, param, request);
        openService.palletizingCompleteS(param);
        return R.ok();
    }
    /**
     * 中控:出库完成月台相关
     */
    @PostMapping("/balcony/complete/auth/v1")
    @AppAuth(memo = "中控:出库完成月台相关") //old需要修改
    public synchronized R balconyComplete(@RequestHeader(required = false) String appkey,
                                              @RequestBody LabellerMatParam param,
                                              HttpServletRequest request) {
        auth(appkey, param, request);
        openService.balconyComplete(param);
        return R.ok(param);
    }
    /**
     * 桁架上位软件:单次拆垛完成通知
     */
    @PostMapping("/single/unstacking/complete/auth/v1")
    @AppAuth(memo = "桁架上位软件:单次拆垛完成通知")
    public synchronized R singleUnstackingComplete(@RequestHeader(required = false) String appkey,
                                            @RequestBody SingleUnstackingCompleteParam param,
                                            HttpServletRequest request) {
        auth(appkey, param, request);
        openService.singleUnstackingComplete(param);
        return R.ok(param);
    }
    /**
     * 桁架上位软件:单托拆垛完成通知
     */
    @PostMapping("/single/mount/unstacking/complete/auth/v1")
    @AppAuth(memo = "桁架上位软件:单托拆垛完成通知")
    public synchronized R singleMountUnstackingComplete(@RequestHeader(required = false) String appkey,
                                            @RequestBody SingleMountUnstackingCompleteParam param,
                                            HttpServletRequest request) {
        auth(appkey, param, request);
        openService.singleMountUnstackingComplete(param);
        return R.ok(param);
    }
    /*...........................上饶江铜..............以上.............徐工汉云...........................*/
}