Example #1
0
        public VScanResponse Scan(long id, VCheckScan request)
        {
            var check = wmsstock.TInvtChecks.Where(x => x.Id == id).FirstOrDefault();


            var response = new VScanResponse();
            var prodSku  = skuService.GetSkuByBarcode(request.Barcode);

            if (prodSku == null)
            {
                throw new Exception("barcode is not exits");
            }

            var zoneBin = binService.GetBinByCode(check.WhId, request.BinCode);

            //扫描货位和条码
            TInvtCheckLog detail = new TInvtCheckLog
            {
                HId         = id,
                WhId        = check.WhId,
                Code        = check.Code,
                Barcode     = request.Barcode,
                Carton      = request.Carton,
                SkuId       = prodSku.Id,
                Sku         = prodSku.Code,
                ZoneId      = zoneBin.ZoneId,
                ZoneCode    = zoneBin.ZoneCode,
                BinId       = zoneBin.Id,
                BinCode     = request.BinCode,
                Qty         = 1,
                CreatedBy   = DefaultUser.UserName,
                CreatedTime = DateTime.UtcNow,
            };

            wmsstock.TInvtCheckLogs.Add(detail);

            wmsstock.SaveChanges();

            return(response);
        }
        public JsonResult Scan([FromUri] long id, [FromBody] VCheckScan request)
        {
            var result = service.Scan(id, request);

            return(new JsonResult(result));
        }