自动化立体仓库 - WMS系统
#
lsh
2024-01-19 1607086231421efad1dae82c00f044b0b9070532
#
12个文件已修改
405 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasDevp.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMastSta.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/CombParam.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/TrussCombParam.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasDevpMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -188,6 +188,7 @@
                        combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty());
                        combMat.setMaktx(orderDetl.getMaktx());
                        combMat.setSpecs(orderDetl.getSpecs());
                        combMat.setWeight(orderDetl.getWeight());
                        combMats.add(combMat);
                    }
                    if (combMats.size()==0){
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -245,7 +245,7 @@
        auth(appkey, param, request);
        openService.palletizingCompleteS(param);
        return R.ok(param);
        return R.ok();
    }
    /**
@@ -293,44 +293,44 @@
    }
    /**
     *  测试1  入库前输送线写入托盘码,216站测试用
     */
    @PostMapping("/cs1/auth/v1")
    @AppAuth(memo = "")
    public synchronized R cs1(@RequestHeader(required = false) String appkey,
                                              @RequestBody PalletizingCompleteParam param,
                                              HttpServletRequest request) {
        auth(appkey, param, request);
        openService.cs1(param.getBarcode());
        return R.ok(param);
    }
    /**
     *  测试2  清除托盘码,216站测试用 Copy
     */
    @PostMapping("/cs2/auth/v1")
    @AppAuth(memo = "")
    public synchronized R cs2(@RequestHeader(required = false) String appkey,
                                                @RequestBody PalletizingCompleteParam param,
                                                HttpServletRequest request) {
        auth(appkey, param, request);
        openService.cs2();
        return R.ok(param);
    }
    /**
     * 测试3
     */
    @PostMapping("/cs3/auth/v1")
//    /**
//     *  测试1  入库前输送线写入托盘码,216站测试用
//     */
//    @PostMapping("/cs1/auth/v1")
//    @AppAuth(memo = "")
    public synchronized R cs3(@RequestHeader(required = false) String appkey,
                                                @RequestBody PalletizingCompleteParam param,
                                                HttpServletRequest request) {
        auth(appkey, param, request);
        openService.cs3();
        return R.ok(param);
    }
//    public synchronized R cs1(@RequestHeader(required = false) String appkey,
//                                              @RequestBody PalletizingCompleteParam param,
//                                              HttpServletRequest request) {
//        auth(appkey, param, request);
//        openService.cs1(param.getBarcode());
//        return R.ok(param);
//    }
//
//    /**
//     *  测试2  清除托盘码,216站测试用 Copy
//     */
//    @PostMapping("/cs2/auth/v1")
//    @AppAuth(memo = "")
//    public synchronized R cs2(@RequestHeader(required = false) String appkey,
//                                                @RequestBody PalletizingCompleteParam param,
//                                                HttpServletRequest request) {
//        auth(appkey, param, request);
//        openService.cs2();
//        return R.ok(param);
//    }
//
//    /**
//     * 测试3
//     */
//    @PostMapping("/cs3/auth/v1")
////    @AppAuth(memo = "")
//    public synchronized R cs3(@RequestHeader(required = false) String appkey,
//                                                @RequestBody PalletizingCompleteParam param,
//                                                HttpServletRequest request) {
//        auth(appkey, param, request);
//        openService.cs3();
//        return R.ok(param);
//    }
    /*...........................上饶江铜..............以上.............徐工汉云...........................*/
src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -76,6 +76,13 @@
    private String canining;
    /**
     * 空板
     */
    @ApiModelProperty(value= "空板")
    @TableField("empty_mk")
    private String emptyMk;
    /**
     * 能出
     */
    @ApiModelProperty(value= "能出")
src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -136,7 +136,7 @@
    }
    public WrkMastSta(Date now, Integer staStart) {
        this.wrkNo = staStart.longValue()+9999;
        this.wrkNo = staStart.longValue()+19999L;
        this.wrkStart = staStart;
        this.wrkEnd = staStart;
        this.staStart = staStart;
src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -40,6 +40,8 @@
        // 规格
        private String specs;
        private Double weight;
    }
}
src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
@@ -5,6 +5,7 @@
import com.zy.asrs.entity.LocDetlRullUpDetail;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.service.LocDetlRullUpDetailService;
import com.zy.asrs.service.OrderService;
import io.swagger.models.License;
@@ -58,40 +59,28 @@
    public TrussCombParam(){}
    public TrussCombParam(TrussCombParam trussCombParam, Order order, List<OrderDetl> orderDetlList){
    public TrussCombParam( WrkDetl wrkDetl){
        LocDetlRullUpDetailService locDetlRullUpDetailService = SpringUtils.getBean(LocDetlRullUpDetailService.class);
        this.barcode = trussCombParam.getBarcode();
        this.barcode = wrkDetl.getBarcode();
        this.staStart = 147;
        this.palletizingNo2 = trussCombParam.getPalletizingNo2();
        this.staEnd = trussCombParam.getStaEnd();
        this.boxType = orderDetlList.get(0).getBrand();
        this.uuid = trussCombParam.getBarcode();
        this.orderNo = trussCombParam.getOrderNo();
        this.palletizingNo2 = 118;
        this.staEnd = 118;
        this.boxType = wrkDetl.getBrand();
        this.uuid = wrkDetl.getBarcode();
        this.orderNo = wrkDetl.getOrderNo();
        List<MatList> matLists = new ArrayList<>();
        for (OrderDetl orderDetl:orderDetlList){
            MatList matList = new MatList();
            matList.setMatnr(orderDetl.getMatnr());
            matList.setMaktx(orderDetl.getMaktx());
            matList.setAnfme(orderDetl.getAnfme().intValue());
            matList.setBatch(orderDetl.getBatch());
            matList.setBoxNo(orderDetl.getBatch());
            matList.setPosition("1");
            matList.setWeight(orderDetl.getWeight());
            matList.setSpecs(orderDetl.getSpecs());
            List<MatDetlList> matDetlLists= new ArrayList<>();
            List<LocDetlRullUpDetail> locDetlRullUpDetails = locDetlRullUpDetailService.selectList(new EntityWrapper<LocDetlRullUpDetail>().eq("uuid", orderDetl.getUnit()));
            for (LocDetlRullUpDetail locDetlRullUpDetail:locDetlRullUpDetails){
                MatDetlList matDetlList = new MatDetlList();
                matDetlList.setBoxNoDetl(locDetlRullUpDetail.getRollNo());
                matDetlList.setWeightDetl(locDetlRullUpDetail.getRollWeight());
                matDetlList.setBatchDetl(locDetlRullUpDetail.getStandby1());
                matDetlList.setSpecsDetl(locDetlRullUpDetail.getStandby2());
                matDetlLists.add(matDetlList);
            }
            matList.setMatDetlList(matDetlLists);
            matLists.add(matList);
        }
        MatList matList = new MatList();
        matList.setMatnr(wrkDetl.getMatnr());
        matList.setMaktx(wrkDetl.getMaktx());
        matList.setAnfme(wrkDetl.getAnfme().intValue());
        matList.setBatch(wrkDetl.getBatch());
        matList.setBoxNo(wrkDetl.getBatch());
        matList.setPosition("1");
        matList.setWeight(wrkDetl.getWeight());
        matList.setSpecs(wrkDetl.getSpecs());
        matLists.add(matList);
        this.matList = matLists;
    }
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -226,8 +226,8 @@
        }
        Order order = orderService.selectByNo(param.getOrderNo());
        if (Cools.isEmpty(order)){
            throw new CoolException("未查询到此订单,单号:"+param.getOrderNo());
        if (Cools.isEmpty(order) || order.getSettle() > 2) {
            throw new CoolException("单据编号已过期,单号:"+param.getOrderNo());
        }
        DocType docType = docTypeService.selectById(order.getDocType());
        if (Cools.isEmpty(docType) || !docType.getDocName().equals("退货入库单")){
@@ -252,6 +252,9 @@
            if (!orderBoxNoList.contains(matList.getBatch())){
                throw new CoolException("单号:"+param.getOrderNo()+" 箱号:"+matList.getBatch()+"不属于此订单或者已经入库");
            }else {
//                if (matList.getAnfme() > orderDetls.get(0).getAnfme()) {
//                    throw new CoolException("箱号:"+orderDetls.get(0).getBatch() + "入库数量不合法");
//                }
                matListBoxNoList.add(matList.getBoxNo());
            }
        }
@@ -273,6 +276,7 @@
            matnr = mat.getMatnr();
            WaitPakin waitPakin = new WaitPakin();
            waitPakin.sync(mat);
            waitPakin.setOrderNo(order.getOrderNo());   // 单据编号
            waitPakin.setModel(orderDetl.getModel());     //批次
            waitPakin.setSpecs(orderDetl.getSpecs());     //规格
            waitPakin.setBatch(orderDetl.getBatch());       //木箱编码
@@ -328,6 +332,7 @@
        waitPakins.forEach(waitPakin -> {
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(waitPakin);
            wrkDetl.setOrderNo(order.getOrderNo());
            wrkDetl.setWrkNo(wrkMast.getWrkNo());
            wrkDetl.setIoTime(wrkMast.getIoTime());
            wrkDetl.setAppeTime(now);
@@ -348,6 +353,11 @@
        } else {
            throw new CoolException(dto.getLocNo()+"目标库位已被占用");
        }
        // 修改订单作业数量
        if (!orderDetlService.increaseWorkQty(order.getId(), orderDetls.get(0).getMatnr(), orderDetls.get(0).getBatch(), orderDetls.get(0).getAnfme())) {
            throw new CoolException("修改单据作业数量失败");
        }
        orderService.updateSettle(order.getId(), 2L, userId);
    }
    @Override
    @Transactional
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -803,165 +803,18 @@
    @Override
    @Transactional
    public void palletizingCompleteS(PalletizingCompleteParam param) {
        Long userId = 7776L;//松盛
        //判断param参数
        if (Cools.isEmpty(param.getBarcode())){
            throw new CoolException("参数:托盘码 barcode为空");
        }else if (Cools.isEmpty(param.getPalletizingNo())){
            throw new CoolException("参数:码垛位编号 palletizingNo为空");
        }else if (Cools.isEmpty(param.getBoxType())){
            throw new CoolException("参数:木箱类型 boxType为空");
        }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()!=1){
            throw new CoolException("参数:物料明细 matLists为空");
        }
        ArrayList<String> positions = new ArrayList<>();   //木箱位置查重      (orgin)
        ArrayList<String> boxNos = new ArrayList<>();   //木箱唯一编码查重  (batch)
        //判断matLists参数
        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
            if (Cools.isEmpty(matList.getMatnr())){
                throw new CoolException("参数:物料编码 matnr为空");
            }else if (Cools.isEmpty(matList.getPosition())){
                throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:码垛位置 position为空");
            }else if (Cools.isEmpty(matList.getBoxNo())){
                throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:木箱编号 boxNo为空");
            }else if (Cools.isEmpty(matList.getAnfme()) || matList.getAnfme().equals(0)){
                throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:木箱中铜箔数量 anfme为空");
            }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){
                throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:重量 weight为空");
            }
            if (!positions.contains(matList.getPosition())){
                positions.add(matList.getPosition());
            }else {
                throw new CoolException("参数:木箱编号 boxNo:"+matList.getBoxNo()+",木箱位置存在重复:"+matList.getPosition());
            }
            if (!boxNos.contains(matList.getBoxNo())){
                boxNos.add(matList.getBoxNo());
            }else {
                throw new CoolException("参数:木箱编号 boxNo:"+matList.getBoxNo()+",木箱编码存在重复");
            }
        WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
        if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=2){
            log.error("退库码垛完成,返回托盘码未查询到工作档案!");
            throw new CoolException("参数:托盘码 barcode未查询到工作档案");
        }
        BasDevp basDevp = basDevpService.selectById(param.getPalletizingNo2());
        if (Cools.isEmpty(basDevp)){
            throw new CoolException("参数:码垛位编号 palletizingNo="+param.getPalletizingNo2()+"不存在");
        }
        if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){
            throw new CoolException("码垛位编号 palletizingNo="+param.getPalletizingNo()+" 所处站点不是自动状态");
        }
        if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){
            throw new CoolException("码垛位编号 palletizingNo="+param.getPalletizingNo()+" 所处站点不是有物状态");
        }
//        if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){
//            throw new CoolException("码垛位编号 palletizingNo="+param.getPalletizingNo()+" 所处站点不是能入状态");
//        }
//        if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()))!=0
//                || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()))!=0
//                || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()))!=0){
//            throw new CoolException("托盘条码:"+param.getBarcode()+"已存在,请勿重复组托");
//        }
//
//
//        Date now = new Date();
//        List<WaitPakin> waitPakins = new ArrayList<>();
//        String matnr = null;
//        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
//            long rollUp = new Date().getTime();
//            Mat mat = matService.selectByMatnr(matList.getMatnr());
//            if (Cools.isEmpty(mat)) {
//                throw new CoolException(matList.getMatnr() + "商品档案不存在");
//            }
//            matnr = mat.getMatnr();
//            WaitPakin waitPakin = new WaitPakin();
//            waitPakin.sync(mat);
//            waitPakin.setModel(matList.getBatch());     //批次
//            waitPakin.setSpecs(matList.getSpecs());     //规格
//            waitPakin.setBatch(matList.getBoxNo());       //木箱编码
//            waitPakin.setBrand(param.getBoxType());     //木箱类型
//            waitPakin.setZpallet(param.getBarcode());   //托盘码
//            waitPakin.setOrigin(matList.getPosition()); //木箱在托盘上的位置
//            waitPakin.setIoStatus("Y");     // 入出状态
//            waitPakin.setAnfme(matList.getAnfme().doubleValue());  // 木箱中铜箔数量
//            waitPakin.setStatus("Y");    // 状态
//            waitPakin.setAppeUser(userId);
//            waitPakin.setAppeTime(now);
//            waitPakin.setModiUser(userId);
//            waitPakin.setModiTime(now);
//            waitPakin.setRollUp(rollUp);
//            if (!Cools.isEmpty(matList.getMatDetlList())){
//                for (PalletizingCompleteParam.MatDetlList matDetlList:matList.getMatDetlList()){
//                    LocDetlRullUpDetail locDetlRullUpDetail = new LocDetlRullUpDetail();
//                    locDetlRullUpDetail.setUuid(rollUp);
//                    locDetlRullUpDetail.setRollNo(matDetlList.getBoxNoDetl());
//                    locDetlRullUpDetail.setRollWeight(matDetlList.getWeightDetl().toString());
//                    locDetlRullUpDetailService.insert(locDetlRullUpDetail);
//                }
//            }
//            if (!waitPakinService.insert(waitPakin)) {
//                throw new CoolException("保存入库通知档失败");
//            }
//            waitPakins.add(waitPakin);
//        }
//        LocTypeDto locTypeDto = new LocTypeDto();
//        locTypeDto.setLocType1((short)1);
//
//        StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo2(), matnr,null,null, locTypeDto);
//
//        int workNo = dto.getWorkNo();
//        // 生成工作档
//        WrkMast wrkMast = new WrkMast();
//        wrkMast.setWrkNo(workNo);
//        wrkMast.setIoTime(new Date());
//        wrkMast.setWrkSts(1L); // 工作状态:生成入库ID
//        wrkMast.setIoType(1); // 入出库状态:1.入库
//        wrkMast.setIoPri(13D); // 优先级
//        wrkMast.setCrnNo(dto.getCrnNo());
//        wrkMast.setSourceStaNo(dto.getSourceStaNo());
//        wrkMast.setStaNo(dto.getStaNo());
//        wrkMast.setLocNo(dto.getLocNo());
//        wrkMast.setBarcode(param.getBarcode()); // 托盘码
//        wrkMast.setFullPlt("Y"); // 满板:Y
//        wrkMast.setPicking("N"); // 拣料
//        wrkMast.setExitMk("N"); // 退出
//        wrkMast.setEmptyMk("N"); // 空板
//        wrkMast.setLinkMis("Y");
//        wrkMast.setCtnType(0); // 容器类型
//        // 操作人员数据
//        wrkMast.setAppeTime(now);
//        wrkMast.setModiTime(now);
//        boolean res = wrkMastService.insert(wrkMast);
//        if (!res) {
//            throw new CoolException("保存工作档失败");
//        }
//        // 生成工作档明细
//        waitPakins.forEach(waitPakin -> {
//            WrkDetl wrkDetl = new WrkDetl();
//            wrkDetl.sync(waitPakin);
//            wrkDetl.setWrkNo(wrkMast.getWrkNo());
//            wrkDetl.setIoTime(wrkMast.getIoTime());
//            wrkDetl.setAppeTime(now);
//            wrkDetl.setModiTime(now);
//            if (!wrkDetlService.insert(wrkDetl)) {
//                throw new CoolException("保存工作明细失败");
//            }
//        });
//        // 更新目标库位状态
//        LocMast locMast = locMastService.selectById(dto.getLocNo());
//        if (locMast.getLocSts().equals("O")){
//            locMast.setLocSts("S"); // S.入库预约
//            locMast.setModiTime(now);
//            if (!locMastService.updateById(locMast)){
//                throw new CoolException("改变库位状态失败");
//            }
//        } else {
//            throw new CoolException(dto.getLocNo()+"目标库位已被占用");
//        }
        wrkMast.setSheetNo("4");
        wrkMastService.updateById(wrkMast);
    }
@@ -1220,14 +1073,14 @@
    @Transactional
    public void cs3() {
        //拆盘
        WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),119);
        wrkMastSta1.setType(2);
        wrkMastSta1.setWrkType(2);
        wrkMastStaService.insert(wrkMastSta1);
        WrkMastSta wrkMastSta2 = new WrkMastSta(new Date(),121);
        wrkMastSta2.setType(2);
        wrkMastSta2.setWrkType(2);
        wrkMastStaService.insert(wrkMastSta2);
//        WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),119);
//        wrkMastSta1.setType(2);
//        wrkMastSta1.setWrkType(2);
//        wrkMastStaService.insert(wrkMastSta1);
//        WrkMastSta wrkMastSta2 = new WrkMastSta(new Date(),121);
//        wrkMastSta2.setType(2);
//        wrkMastSta2.setWrkType(2);
//        wrkMastStaService.insert(wrkMastSta2);
    }
    /*...........................上饶江铜..............以上.............徐工汉云...........................*/
src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java
@@ -8,6 +8,7 @@
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.WrkMastSta;
import com.zy.asrs.entity.param.BalconyWrkMastParam;
import com.zy.asrs.entity.param.TrussCombParam;
import com.zy.asrs.service.*;
@@ -21,7 +22,9 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import sun.security.smartcardio.SunPCSC;
import java.util.Date;
import java.util.List;
/**
@@ -46,7 +49,7 @@
    @Autowired
    private BasDevpService basDevpService;
    @Autowired
    private OrderService orderService;
    private WrkMastStaService wrkMastStaService;
    @Value("${srHangJia.url}")
    private String srHangJiaUrl;
@@ -62,7 +65,8 @@
                return FAIL;
            }
            BasDevp basDevp131 = basDevpService.selectById(131);
            if (Cools.isEmpty(basDevp131) || !basDevp131.getAutoing().equals("Y") || !( basDevp131.getWrkNo()>9899 && basDevp131.getWrkNo()<10000)){
            if (Cools.isEmpty(basDevp131) || !basDevp131.getAutoing().equals("Y")
                    || !( basDevp131.getWrkNo()>9899 && basDevp131.getWrkNo()<10000) || basDevp131.getReportSign()!=0){
                return FAIL;
            }
            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
@@ -74,6 +78,11 @@
            if (Cools.isEmpty(wrkDetls) || wrkDetls.size()!=1){
                return FAIL;
            }
            WrkDetl wrkDetl = wrkDetls.get(0);
            if (Cools.isEmpty(wrkDetl) || Cools.isEmpty(wrkDetl.getOrigin()) || Cools.isEmpty(wrkDetl.getBatch())
                    || Cools.isEmpty(wrkDetl.getBrand())){
                return FAIL;
            }
            BasDevp basDevp118 = basDevpService.selectById(118);
            if (Cools.isEmpty(basDevp118) || !basDevp118.getAutoing().equals("Y") || basDevp118.getReportSign()!=0 ){
                return FAIL;
@@ -83,25 +92,41 @@
                return FAIL;
            }
            if (basDevp118.getLoading().equals("Y")){
            if (basDevp118.getLoading().equals("Y") && basDevp118.getEmptyMk().equals("Y")){
                //生成机械臂任务
//                TrussCombParam trussCombParam = new TrussCombParam(param, order, orderDetlList);
//            try{
//                ReturnT<String> success = postMesData(reportOutPath, trussCombParam);
//                if (success.getCode()!=200){
//                    throw new CoolException("桁架上位软件退库失败");
//                }
//            } catch (Exception e){
//                throw new CoolException("桁架上位软件退库失败");
//            }
            }else {
                //生成拆盘任务
                TrussCombParam trussCombParam = new TrussCombParam(wrkDetl);
                try{
                    ReturnT<String> success = postMesData(reportOutPath, trussCombParam);
                    if (success.getCode()!=200){
                        log.error("桁架上位软件退库失败");
                        return FAIL;
                    }else {
                        wrkMast.setSheetNo("3");
                        wrkMastService.updateById(wrkMast);
                        basDevp.setReportSign(3);
                        basDevpService.updateById(basDevp);
                        basDevp118.setReportSign(3);
                        basDevpService.updateById(basDevp118);
                    }
                    return SUCCESS;
                } catch (Exception e){
                    log.error("桁架上位软件退库失败"+e);
                    return FAIL;
                }
            }else if (!basDevp118.getLoading().equals("Y") ){
                WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no",staNo + 19999L));
                if (Cools.isEmpty(wrkMastSta)){
                    //生成拆盘任务
                    WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staNo);
                    wrkMastSta1.setType(2);      //类型 1:非空  2:空板
                    wrkMastSta1.setWrkType(2);                    //工作类型  1:取(叠盘)  2:拆盘  3:取放 5:满取  6:满放
                    wrkMastStaService.insert(wrkMastSta1);
                }
                return SUCCESS;
            }
//
        }catch (Exception e){
            log.error("异常!!!"+e);
            log.error("退货入库机械臂取货异常!!!"+e);
            return FAIL;
        }
        return FAIL;
@@ -119,7 +144,7 @@
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if (jsonObject.getString("result").equals("Y")) {
                if (jsonObject.getInteger("Code").equals(200)) {
                    success = true;
                } else {
                    log.error("请求接口失败!!!url:{};request:{};response:{}"+srHangJiaUrl+erpPath, JSON.toJSONString(combParam), response);
src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
@@ -49,9 +49,6 @@
    public ReturnT<String> start(int staNo) {
        try {
            if(true){
                return FAIL;
            }
            BasDevp basDevp = basDevpService.selectById(staNo);
            Integer staOther = getStaOther(staNo);
            Integer staEnd = getStaEnd(staNo);
@@ -67,8 +64,8 @@
            if ((basDevpEnd.getWrkNo()<9900 && basDevpEnd.getWrkNo()!=0  ) || basDevpEnd.getWrkNo()>10000  || basDevpEnd.getReportSign()!=0){
                return FAIL;
            }
            WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 202).eq("source_sta_no", staEnd));
            if (!Cools.isEmpty(wrkMast1) && wrkMast1.getWrkSts()==51) return FAIL;
            WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 202).eq("source_sta_no", staEnd).eq("wrk_sts",51L));
            if (!Cools.isEmpty(wrkMast1)) return FAIL;
            if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()!=0){ //上传前工作号跟电控约定为9992中控(桁架):码垛完成下发入库信息(你可以自定义)
                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
@@ -83,6 +80,9 @@
                singleMountUnstackingCompleteParam.setStaStart(staNo);
                singleMountUnstackingCompleteParam.setStaEnd(staEnd);
                ReturnT<String> result = null;
                if (true){
                    return FAIL;
                }
                result = postMesData(reportOutPath,singleMountUnstackingCompleteParam);
//                System.out.println(result);
//                if (true){
@@ -112,7 +112,8 @@
                    basDevp.setReportSign(1);
                    basDevpService.updateById(basDevp);
                    basDevpEnd.setReportSign(1);
                    basDevpService.updateById(basDevp);
                    basDevpService.updateById(basDevpEnd);
                    return SUCCESS;
                }else {
                    log.error("拆垛信息上传失败");
src/main/resources/application.yml
@@ -68,10 +68,10 @@
  # 出库上报
  outPath: EosServer/PluginGateway.ashx?pluginid=DataIOHttp&func=senddata&userno=ASRS&sign=5DD885999945BA2F3DC9A61F1B857DB3&dataname=cpckwc
srHangJia:
  url: 192.168.18.209:16126
  url: 192.168.18.229:16126
  # 拆垛信息上传
  reportOutPath: api/DepalletizingInfo/Post
  # 码垛信息上传
  reportInPath: api/PalletizingInfo/Post
loc-move:
  move-all: true
  move-all: false
src/main/resources/mapper/BasDevpMapper.xml
@@ -42,6 +42,7 @@
        <result column="gross_wt" property="grossWt" />
        <result column="cart_pos" property="cartPos" />
        <result column="report_sign" property="reportSign" />
        <result column="empty_mk" property="emptyMk" />
    </resultMap>