自动化立体仓库 - WMS系统
#
lsh
2024-01-19 1607086231421efad1dae82c00f044b0b9070532
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;
@@ -61,25 +64,69 @@
                    || !basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y") || !basDevp.getInEnable().equals("Y")){
                return FAIL;
            }
            BasDevp basDevp131 = basDevpService.selectById(131);
            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>()
                    .eq("wrk_no", basDevp.getWrkNo()).eq("source_sta_no",145));
            if (Cools.isEmpty(wrkMast) || wrkMast.getIoType()!=1 || wrkMast.getWrkSts()!=2){
                return FAIL;
            }
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            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;
            }
            BasDevp basDevp119 = basDevpService.selectById(119);
            if (Cools.isEmpty(basDevp119) || basDevp119.getReportSign()!=0){
                return FAIL;
            }
            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("桁架上位软件退库失败");
//            }
                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;
@@ -97,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);