Esempio n. 1
0
 public void InsertTemStorageCusReports(CustomReportJsonModel model, bool isChangeRS)
 {
     productDAL.InsertTemStorageCusReports(model);
     if (isChangeRS == true)
     {
         productDAL.UpdateSkuReportStatus(model);
     }
 }
Esempio n. 2
0
        public Dictionary <string, int> ImportCustomReports(Dictionary <string, SkuReportStatusModel> skus, DataTable excelInfos)
        {
            var result       = new Dictionary <string, int>();
            var successCount = 0;
            var failCount    = 0;

            if (skus == null || skus.Count == 0)
            {
                return(null);
            }

            var skuDic = new Dictionary <string, int>();

            List <CustomReport> importData = new List <CustomReport>();

            Dictionary <string, string> fails = new Dictionary <string, string>();
            List <int> customedSkuLineIDs     = new List <int>();

            foreach (DataRow dr in excelInfos.Rows)
            {
                var skuNo = dr[2] == DBNull.Value ? "" : dr[2].ToString();

                if (String.IsNullOrWhiteSpace(skuNo))
                {
                    continue;
                }

                if (!skus.Keys.Contains(skuNo) && !fails.Keys.Contains(skuNo))
                {
                    failCount++;
                    fails.Add(skuNo, "待審核列表中沒有與之匹配的SKU編號");
                    continue;
                }

                var skuInfo = skus[skuNo];

                if (skuInfo.ReportStatus == -1 && !fails.Keys.Contains(skuNo))
                {
                    failCount++;
                    fails.Add(skuNo, "對應的SKU編號不需要報備");
                    continue;
                }

                successCount++;

                var customReport = new CustomReport()
                {
                    Sku             = skuNo,
                    CustomsUnit     = dr[3] == DBNull.Value ? "" : dr[3].ToString(),
                    ModelForCustoms = dr[4] == DBNull.Value ? "" : dr[4].ToString(),
                    InspectionNo    = dr[5] == DBNull.Value ? "" : dr[5].ToString(),
                    PrepardNo       = dr[6] == DBNull.Value ? "" : dr[6].ToString(),
                    TaxCode         = dr[7] == DBNull.Value ? "" : dr[7].ToString(),
                    HSCode          = dr[8] == DBNull.Value ? "" : dr[8].ToString(),
                    GnoCode         = dr[9] == DBNull.Value ? "" : dr[9].ToString(),
                    UOM             = dr[10] == DBNull.Value ? "" : dr[10].ToString(),
                    TaxRate         = dr[11] == DBNull.Value ? "0" : dr[11].ToString(),
                };

                if (HasCustom(customReport))
                {
                    customedSkuLineIDs.Add(skuInfo.Id);
                    customedSkuLineIDs.AddRange(skuInfo.ConnectIDs);
                }

                importData.Add(customReport);
            }

            var jm = new CustomReportJsonModel();

            jm.CustomReports = importData.ToArray();

            productDAL.InsertTemStorageCusReports(jm);
            productDAL.UpdateSkuReportStatus(customedSkuLineIDs);

            var batchNO = productDAL.InsertImportError(fails);

            result.Add("true", successCount);
            result.Add("false", failCount);
            result.Add("batchNO", batchNO);

            return(result);
        }