自动化立体仓库 - WMS系统
*
lsh
昨天 64781aac1c41bb8c4dda2deb4dc7ae98cace8315
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;
@@ -1087,5 +1088,78 @@
        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()));
            }
        }
    }
    /*
     * 正常退库至二楼包装
     * */
    @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下发退货至二楼","退货至二楼");
                return orderOutBatchUtil.setOrderOutBatch(OutLocBoxCs);
            }
        } catch (Exception e) {
            throw new CoolException("对应箱号:"+param.getBoxNo()+"的物料退库至2楼失败"+e.getMessage());
        }
        return R.error("对应箱号:"+param.getBoxNo()+"的物料退库至2楼失败");
    }
    /*...........................上饶江铜..............以上.............徐工汉云...........................*/
}