自动化立体仓库 - WMS系统
*
lsh
昨天 dfdf98629fa109a18a76bcc00a63a812c4ecbcaa
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -12,6 +12,7 @@
import com.zy.asrs.service.*;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.OrderOutBatchUtil;
import com.zy.asrs.utils.PostMesDataUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.model.LocTypeDto;
@@ -599,9 +600,10 @@
        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
        if (Cools.isEmpty(wrkMast)){
            throw new CoolException("站点:"+param.getDevNo()+" 工作中任务不存在,任务号:"+basDevp.getWrkNo());
        }else if (!wrkMast.getWrkSts().equals(52L)){
            throw new CoolException("站点:"+param.getDevNo()+" 工作中任务状态已变更,请勿重复申请,任务号:"+basDevp.getWrkNo()+",任务状态:"+wrkMast.getWrkSts$());
        }
//        else if (!wrkMast.getWrkSts().equals(52L)){
//            throw new CoolException("站点:"+param.getDevNo()+" 工作中任务状态已变更,请勿重复申请,任务号:"+basDevp.getWrkNo()+",任务状态:"+wrkMast.getWrkSts$());
//        }
        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", basDevp.getWrkNo()));
        if (Cools.isEmpty(wrkDetls) || wrkDetls.size()==0){
@@ -633,10 +635,10 @@
//        labellerMatParam.setLabellingTime(DateUtils.convert(new Date()));
//        labellerMatParam.setLabTemplate("1");
//        labellerMatParam.setOrderNo(orderNo);
        wrkMast.setWrkSts(53L);
        if (!wrkMastService.updateById(wrkMast)){
            throw new CoolException("异常,请重新申请");
        }
//        wrkMast.setWrkSts(53L);
//        if (!wrkMastService.updateById(wrkMast)){
//            throw new CoolException("异常,请重新申请");
//        }
        return labellerMatParam;
    }
@@ -1086,5 +1088,108 @@
        return crnStn;
    }
    /*
     * FQC质检
     * */
    @Override
    @Transactional
    public void qualityInspection(QualityInspectionParam param) {
        //判断param参数
        if (Cools.isEmpty(param.getBoxNo())){
            throw new CoolException("参数:箱号 boxNo为空");
        }
        List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>()
                .eq("batch", param.getBoxNo())
                .eq("model", param.getModel())
        );
        if (locDetlList.isEmpty()){
            throw new CoolException("未查询到对应箱号:"+param.getBoxNo()+";与卷号:"+param.getModel()+";的物料");
        }
        for (LocDetl locDetl:locDetlList){
            if (locDetl.getDanger()!=0){
                String dangerStr = "";
                if (locDetl.getDanger()==1){
                    dangerStr = "合格";
                }else if (locDetl.getDanger()==2){
                    dangerStr = "不合格";
                }
                throw new CoolException("查询到对应箱号:"+param.getBoxNo()+";与卷号:"+param.getModel()+";的物料,但是已经标记为"+dangerStr+",不能重复标记!");
            }
        }
        for (LocDetl locDetl:locDetlList){
            if (locDetl.getDanger()==0){
                locDetl.setDanger(param.getDanger());
                if (param.getDanger()==2){
                    String memo = Cools.isEmpty(locDetl.getMemo())?  "" : locDetl.getMemo()+",";
                    locDetl.setMemo(memo + DateUtils.convert(new Date(), DateUtils.yyyyMMdd_C)+"质检结果不合格:" + param.getMemo());//不合格会给备注,需要把备注给到包装做展示
                }
                locDetlService.update(locDetl,new EntityWrapper<LocDetl>()
                        .eq("loc_no", locDetl.getLocNo())
                        .eq("batch", param.getBoxNo()));
            }
        }
    }
//    /*
//     * FQC质检 退库至2楼
//     * */
//    @Override
//    @Transactional
//    public R qualityInspection(QualityInspectionParam param) {
//        try{
////            String[] split = param.getModel().split(",");
////            if (Cools.isEmpty(split)){
////                throw new CoolException("参数:卷号 Model为空,解析失败!!!");
////            }
//            List<String[]> OutLocBoxCs = new ArrayList<>();
//            String orderNo = "TK" + snowflakeIdWorker.nextId();
//            String cstmrName = "未知";
////            for (String model:split){
//            String[] outLocBox = new String[]{param.getBoxNo(),orderNo,cstmrName,param.getMemo(),"不合格"};
//            OutLocBoxCs.add(outLocBox);
////            }
//
//            if (!OutLocBoxCs.isEmpty()){
//                OrderOutBatchUtil orderOutBatchUtil = new OrderOutBatchUtil(orderNo,cstmrName,"","MES下发不合格退货","不合格退货",true);
//                return orderOutBatchUtil.setOrderOutBatch(OutLocBoxCs);
//            }
//        } catch (Exception e) {
//            throw new CoolException("对应箱号:"+param.getBoxNo()+"的物料退库至2楼失败"+e.getMessage());
//        }
//        return R.error("对应箱号:"+param.getBoxNo()+"的物料退库至2楼失败");
//
//    }
    /*
     * 正常退库至二楼包装
     * */
    @Override
    @Transactional
    public R packagingAreaOrderCreate(QualityInspectionParam param) {
        try{
//            String[] split = param.getModel().split(",");
//            if (Cools.isEmpty(split)){
//                throw new CoolException("参数:卷号 Model为空,解析失败!!!");
//            }
            List<String[]> OutLocBoxCs = new ArrayList<>();
            String orderNo = "TK" + snowflakeIdWorker.nextId();
            String cstmrName = "未知";
//            for (String model:split){
                String[] outLocBox = new String[]{param.getBoxNo(),orderNo,cstmrName,param.getMemo(),"随意"};
                OutLocBoxCs.add(outLocBox);
//            }
            if (!OutLocBoxCs.isEmpty()){
                OrderOutBatchUtil orderOutBatchUtil = new OrderOutBatchUtil(orderNo,cstmrName,"","MES下发退货至二楼","退货至二楼",false);
                return orderOutBatchUtil.setOrderOutBatch(OutLocBoxCs);
            }
        } catch (Exception e) {
            throw new CoolException("对应箱号:"+param.getBoxNo()+"的物料退库至2楼失败"+e.getMessage());
        }
        return R.error("对应箱号:"+param.getBoxNo()+"的物料退库至2楼失败");
    }
    /*...........................上饶江铜..............以上.............徐工汉云...........................*/
}