code

 private void doFillGoodsLogic(String scanCode) {
        //判断是否合法 主商品是否合法或者赠品是否合法
        if (isIllegalProduct(scanCode)) {
            for (PerDoor d : doorList) {
                if (d.door == currentDoor) {
                    if (isMainGoods(scanCode)) {
                        //为主商品
                        //判断主商品是否存在
                        //
                        if (!isExistingMainGoods(scanCode)) {

                            //不是存在的主商品
                            //1.主商品放到临时变量中 2.判断刚刚是否扫过

                            if (tempMainCode.length() > 0) {
                                //两个赠品的商品中 先扫了一个赠品,再扫了一个主商品,然后再扫一个不匹配的主商品,走到了这里   应该提示其扫描最后一个赠品
                                //1个赠品
                                //当前扫描的商品组合不正确,
                                //请继续扫描赠品:
                                //尖叫

                                if (tempSubCode1.length() > 0) {


                                    String lastSubName = getSubGoodsNameSub2(tempMainCode, tempSubCode1);
                                    String notice = "当前扫描的商品组合不正确,\n" + "请继续扫描赠品:\n" + lastSubName;
                                    showScanSuccessDialog(notice, 0);
                                    return;

                                }
                                //判断主商品是否包含赠品 包含赠品提示其继续扫描赠品
                                if (isHaveSubGoods(tempMainCode)) {


                                    if (tempSubCode1.length() == 0) {
                                        //由主商品获取两个赠品的名称
                                        String subname = getSubGoodsNameMain(tempMainCode);

                                        String notice = "当前扫描的商品组合不正确,\n" + "请继续扫描赠品:\n" + subname;
                                        showScanSuccessDialog(notice, 0);
                                        //重复扫描的只有一个确定按钮
                                        return;

                                    }
                                    if (tempSubCode1.length() > 0) {
                                        //已经扫过一个赠品和一个主商品 再次扫了一个主商品

                                        showScanSuccessDialog("oneMain_oneSub_stillScanedMain", 0);
                                        return;
                                    }
                                }

                                String mainStr = "该商品已经添加过了,请扫描其他商品";
                                showScanSuccessDialog(mainStr, 0);
                                //重复扫描的只有一个确定按钮
                                return;
                            } else {
                                //判断是否扫过临时赠品1.已经添加过一个赠品2.已经添加过两个赠品
                                if (tempSubCode1.length() > 0 && tempSubCode2.length() > 0) {
                                    //已经添加过两个赠品
                                    //判断是否匹配
                                    //判断是否可以关门,完成此门操作 tempSubCode1tempSubCode2
                                    if (isCompleteFill2(scanCode, tempSubCode1, tempSubCode2)) {
                                        //提示请关闭门子  提示主商品的名称

                                        String mainGoodsName = checkGoodsNameMain(scanCode);
                                        String notice = mainGoodsName + " 扫描成功 \n" + "请关门";
                                        showScanSuccessDialog(notice, 1);
                                        //保存
                                        d.barcode = scanCode;
                                        //放入商品名称
                                        d.title = checkGoodsNameMain(scanCode);
                                        d.goodsid = checkGoodsId(scanCode);
                                        d.image = getMainGoodsImage(mainTempBarcode);
                                        // isCanScan = false;
                                        initFillData();
                                        //重置
                                        resetTemp();
                                        return;

                                    } else {
                                        //主商品扫描不正确,请扫描这两个赠品对应的主商品

                                        //提示扫描
                                        //当前扫描的商品组合不正确,
                                        //请继续扫描:
                                        //花鼠跳伞

                                        String mainGoodsName = getMainGoodsNameBy2Sub(tempSubCode1, tempSubCode2);
                                        String notice = "当前扫描的商品组合不正确,\n" + "请继续扫描:\n" + mainGoodsName;
                                        showScanSuccessDialog(notice, 0);
                                        return;


                                    }


                                } else if (tempSubCode1.length() > 0) {

                                    //
                                    if (isCompleteFill2(scanCode, tempSubCode1, "")) {
                                        Log.e(TAG, "tempSubCode1_length_maincoode_length");
                                        //扫描完成,请关门
                                        //王老吉 已扫描成功,请关闭盒子
                                        String mainGoodsName = checkGoodsNameMain(scanCode);
                                        String notice = mainGoodsName + " 已扫描成功 \n" + "请关闭盒子";
                                        showScanSuccessDialog(notice, 1);
                                        //保存
                                        d.barcode = scanCode;
                                        //放入商品名称
                                        d.title = checkGoodsNameMain(scanCode);
                                        d.goodsid = checkGoodsId(scanCode);
                                        d.image = getMainGoodsImage(scanCode);
                                        // isCanScan = false;
                                        initFillData();
                                        //重置
                                        resetTemp();

                                        return;
                                    }
                                    if (isPartialMatch(scanCode, tempSubCode1, "")) {

                                        tempMainCode = scanCode;
                                        Log.e(TAG, "isPartialMatch_main: ");

                                        //提示扫描成功请扫描最后一个商品
                                        //花鼠跳伞 已扫描成功,
                                        //请继续扫描赠品:
                                        //尖叫
                                        String mainGoodsName = checkGoodsNameMain(tempMainCode);
                                        //根据主商品和另一个赠品获取另外一个赠品的名称
                                        String lastSubName = getSubGoodsNameSub2(tempMainCode, tempSubCode1);
                                        String notice = mainGoodsName + " 已扫描成功 \n" + "请继续扫描赠品:\n" + lastSubName;
                                        //应该冻结窗口
                                        showScanSuccessDialog(notice, 0);
                                        return;

                                    }
                                    //让其扫描最后一个指定的商品
                                    //  String relativeGoods = getRelativeGoodsBySubGoods(tempSubCode1);
                                    //???

                                    //当前赠品对应的附属商品
                                    String relativeGoods = getRelativeGoodsBySubGoods(tempSubCode1);
                                    String notice = "当前扫描的商品组合不正确,\n" + "请继续扫描:\n" + relativeGoods;
                                    showScanSuccessDialog(notice, 0);
                                    return;

                                } else {
                                    //没有添加过任何赠品
                                    //主商品
                                    //判断是否包含赠品
                                    if (isContainsSubGoods(scanCode)) {
                                        //XXX扫描成功请继续扫描XXX
                                        tempMainCode = scanCode;
                                        //花鼠跳散 已扫描成功,
                                        // 请继续扫描赠品:
                                        //纸巾和尖叫
                                        //重扫 确定
                                        String mainGoodsName = checkGoodsNameMain(scanCode);
                                        String subname = getSubGoodsNameMain(tempMainCode);
                                        String notice = mainGoodsName + " 已扫描成功,\n" + "请继续扫描赠品:\n" + subname;
                                        showScanSuccessDialog(notice, 0);


                                    } else {
                                        //保存,重置
                                        //不包含赠品
                                        // first line杜蕾斯避孕套3只至尊持久装
                                        // second line成人情趣性用品 已扫描成功,
                                        // third line 请关闭盒子
                                        //重新扫,确定
                                        String mainGoodsName = checkGoodsNameMain(scanCode);
                                        String mainStr = mainGoodsName + "已扫描成功,\n请关门";
                                        showScanSuccessDialog(mainStr, 1);
                                        //保存
                                        d.barcode = scanCode;
                                        //放入商品名称
                                        d.title = checkGoodsNameMain(scanCode);
                                        d.goodsid = checkGoodsId(scanCode);
                                        d.image = getMainGoodsImage(tempMainCode);
                                        // isCanScan = false;
                                        initFillData();
                                        //重置
                                        resetTemp();
                                        //text
                                        // stopScan();
                                        return;

                                    }

                                }

                            }


                        } else {
                            //主商品已经添加过了
                            String mainStr = "该商品已经添加过了,请扫描其他商品";
                            showScanSuccessDialog(mainStr, 0);
                            return;
                        }


                    } else {
                        //判断赠品是否合法
                        //判断赠品是否存在tempSubCode1  tempSubCode2
                        //判断是否完成isCompleteFill 三个参数来完成判断
                        //判断tempMainCode的状态  判断盒子中是否还需要继续补赠品
                        if (isStillNeedFillSubGoods(scanCode)) {
                            if (tempMainCode.length() > 0) {
                                //一个赠品一个主商品是否匹配 带两个赠品的参数   tempSubCode1tempSubCode2
                                //判断赠品的情况


                                if (tempSubCode1.length() > 0) {
                                    //判断是否匹配

                                    //该商品已添加过,
                                    //请继续扫描:
                                    //尖叫

                                    if (tempSubCode1.equals(scanCode)) {
                                        //连续扫描了两个相同的赠品
                                        //该商品已添加过了,\n请继续扫描:\n王老吉\n 或 花鼠跳伞和尖叫
                                        // String relativeGoods = getRelativeGoodsBySubGoods(tempSubCode1);
                                        //获取另外一个赠品
                                        String lastSubName = getSubGoodsNameSub2(tempMainCode, tempSubCode1);

                                        //
                                        String notice = "该商品已经添加过了,\n" + " 请继续扫描:\n" + lastSubName;
                                        showScanSuccessDialog(notice, 0);
                                        return;
                                    }
                                    if (isCompleteFill2(tempMainCode, tempSubCode1, scanCode)) {
                                        //XXX扫描成功请关门
                                        //商品组合不正确,请扫描那个赠品
                                        //获取另外一个赠品的名称的两种方法
                                        //  String sub2Name=getSubGoodsNameSub2(tempMainCode, tempSubCode1);
                                        //
                                        String sub2Name = getSubGoodsNameSub(scanCode);

                                        String notice = sub2Name + " 添加成功,\n" + "请关闭盒子";
                                        showScanSuccessDialog(notice, 0);
                                        //保存 置空 tempMainCode
                                        d.barcode = tempMainCode;
                                        //放入商品名称
                                        d.title = checkGoodsNameMain(tempMainCode);
                                        d.goodsid = checkGoodsId(tempMainCode);
                                        d.image = getMainGoodsImage(mainTempBarcode);
                                        // isCanScan = false;
                                        initFillData();
                                        //重置
                                        resetTemp();
                                        return;
                                    }

//
                                    String lastSubName = getSubGoodsNameSub2(tempMainCode, tempSubCode1);
                                    String notice = "当前扫描的商品组合不正确,\n" + "请继续扫描:\n" + lastSubName;
                                    showScanSuccessDialog(notice, 0);
                                    return;


                                } else {
                                    //说明第一次扫赠品说明这个主商品需要两个赠品
                                    //判断是否和这个主商品匹配
                                    //判断是否是局部匹配
                                    if (isCompleteFill2(tempMainCode, scanCode, "")) {
                                        //XXX扫描成功请关门
                                        //商品组合不正确,请扫描那个赠品
                                        //获取另外一个赠品的名称的两种方法
                                        //  String sub2Name=getSubGoodsNameSub2(tempMainCode, tempSubCode1);
                                        //
                                        String sub2Name = getSubGoodsNameSub(scanCode);

                                        String notice = sub2Name + " 添加成功,\n" + "请关闭盒子";
                                        showScanSuccessDialog(notice, 1);
                                        //保存 置空 tempMainCode
                                        d.barcode = tempMainCode;
                                        //放入商品名称
                                        d.title = checkGoodsNameMain(tempMainCode);
                                        d.goodsid = checkGoodsId(tempMainCode);
                                        d.image = getMainGoodsImage(mainTempBarcode);
                                        // isCanScan = false;
                                        initFillData();
                                        //重置
                                        resetTemp();
                                        return;

                                    } else if (isPartialMatch(tempMainCode, scanCode, "")) {
                                        //局部匹配
                                        tempSubCode1 = scanCode;
                                        //获取当前扫描的赠品的名称
                                        String curSubName = getSubGoodsNameSub(tempSubCode1);
                                        //
                                        Log.e(TAG, "lastSubName_onemain_oneSub:" + curSubName);
                                        //明明扫的是尖叫 获取到的是纸巾名称
                                        //最后一个商品的名称
                                        String lastSubName = getSubGoodsNameSub2(tempMainCode, tempSubCode1);
                                        Log.e(TAG, "lastSubName: " + lastSubName);

                                        String notice = curSubName + " 已扫描成功 \n" + "请继续扫描赠品:\n" + lastSubName;
                                        showScanSuccessDialog(notice, 0);
                                        return;

                                    } else {
                                        //商品不匹配  提示其扫描这个主商品和这个赠品的对应的另外一个赠品
                                        //当前赠品对应的主商品
                                        //获取这个主商品的赠品
                                        String subname = getSubGoodsNameMain(tempMainCode);
                                        String notice = "当前扫描的商品组合不正确,\n" + "请继续扫描赠品:\n" + subname;
                                        showScanSuccessDialog(notice, 0);
                                        return;

                                    }


                                }


                            } else {
                                //没有添加过主商品只处理赠品

                                //1.判断赠品假如合法2.判断能不能放
                                //3.判断是否是赠品组合(主商品只包含一个赠品,主商品包含两个赠品)
                                //判断以前有没有扫描过
                                //

                                if (tempSubCode1.length() > 0 && tempSubCode2.length() > 0) {
                                    //该商品已经添加过了,
                                    //请继续扫描:
                                    //花鼠跳伞
                                    //由两个赠品获取主商品名称
                                    String mainGoodsName = getMainGoodsNameBy2Sub(tempSubCode1, tempSubCode2);
                                    String notice = "该商品已经添加过了,\n" + " 请继续扫描:\n" + mainGoodsName;
                                    showScanSuccessDialog(notice, 0);


                                    return;

                                } else if (tempSubCode1.length() > 0) {
                                    //只添加过一个赠品, 判断当前这两个赠品是否匹配1.不匹配提示扫描


                                    if (tempSubCode1.equals(scanCode)) {

                                        String relativeGoods = getRelativeGoodsBySubGoods(tempSubCode1);
                                        //获取相关商品
                                        String notice = "该商品已经添加过了,\n" + "请继续扫描:\n" + relativeGoods;
                                        showScanSuccessDialog(notice, 0);
                                        return;

                                    }
                                    if (is2SubGoodsMatch(tempSubCode1, scanCode)) {
                                        //如果这两个赠品匹配 提示其扫描着两个赠品对应的主商品
                                        tempSubCode2 = scanCode;

                                        //尖叫 已扫描成功,
                                        // 请继续扫描:
                                        //花鼠跳伞
                                        String subName = getSubGoodsNameSub(scanCode);
                                        String mainGoodsName = getMainGoodsNameBy2Sub(tempSubCode1, tempSubCode2);
                                        String notice = subName + " 已扫描成功,\n" + " 请继续扫描:\n" + mainGoodsName;
                                        showScanSuccessDialog(notice, 0);
                                        return;

                                    } else {
                                        showScanSuccessDialog("unknown error please contact me", 0);
                                        return;
                                    }


                                } else {
                                    //一个赠品也没添加过
                                    //判断当前扫到的赠品是否可以放,并给出相应的提示
                                    if (isScanedSubCanPut(scanCode)) {
                                        //查找与这个赠品相关的其他商品
                                        tempSubCode1 = scanCode;
                                        String sub1Name = getSubGoodsNameSub(tempSubCode1);

                                        //纸巾 添加成功,
                                        //请继续扫描:
                                        //王老吉
                                        //或 花鼠跳伞和尖叫
                                        String relativeGoods = getRelativeGoodsBySubGoods(tempSubCode1);
                                        //判断王老吉是否已经添加过

                                        //
                                        String notice = sub1Name + " 添加成功,\n" + "请继续扫描:" + " \n" + relativeGoods;
                                        showScanSuccessDialog(notice, 0);
                                        return;


                                    } else {
                                        //赠品重复,不可以放,给个提示让其扫描其他东西
                                        //赠品不可以放进去
                                        String subStr = "盒子中已有此赠品,请扫描其他商品";
                                        showScanSuccessDialog(subStr, 0);
                                        return;


                                    }


                                }


                            }
                        } else {
                            String subStr = "该赠品的捆绑商品已经添加过了,\n请扫描其他商品";
                            showScanSuccessDialog(subStr, 0);


                        }


                    }

                }

            }


        } else {
            //请扫描合法的商品
            //商品不合法
            String mainStr = "商品不合法,请扫描合法的商品";
            showScanSuccessDialog(mainStr, 0);

        }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值