コード例 #1
0
        /// <summary>
        /// 获取Export表数据
        /// <summary>
        /// <param name="queryJson">查询参数</param>
        /// <returns></returns>
        public FileResult Export2(Pagination pagination, string queryJson)
        {
            pagination.page    = 1;
            pagination.records = 0;
            pagination.rows    = 999999;
            pagination.sidx    = "";
            pagination.sord    = "ASC";
            var datas      = materialsSumIBLL.GetInventoryDetail(pagination, queryJson);
            var dt         = AsDataTable(datas);
            var queryParam = queryJson.ToJObject();
            var StartTime  = "";
            var EndTime    = "";

            if (!queryParam["start"].ToString().IsEmpty() && !queryParam["end"].ToString().IsEmpty())
            {
                StartTime = queryParam["start"].ToString();
                EndTime   = queryParam["end"].ToString();
            }
            else
            {
                StartTime = queryParam["StartTime"].ToString();
                EndTime   = queryParam["EndTime"].ToString();
            }
            DateTime StartTimes = queryParam["StartTime"].ToDate();
            DateTime EndTimes   = queryParam["EndTime"].ToDate();
            string   starttime  = StartTimes.ToString("yyyyMMdd");
            string   endtime    = EndTimes.ToString("yyyyMMdd");
            DateTime Start      = queryParam["start"].ToDate();
            DateTime End        = queryParam["end"].ToDate();
            string   start      = Start.ToString("yyyyMMdd");
            string   end        = End.ToString("yyyyMMdd");
            var      ms         = NPOIExcel.ToExcelMoreheader(dt, "库存明细统计", "库存明细统计", StartTime, EndTime);

            if (!queryParam["start"].ToString().IsEmpty() && !queryParam["end"].ToString().IsEmpty())
            {
                if (start == end)
                {
                    return(File(ms.GetBuffer(), "application/vnd.ms-excel", start + "_库存明细统计.xls"));
                }
                else
                {
                    return(File(ms.GetBuffer(), "application/vnd.ms-excel", start + "-" + end + "_库存明细统计.xls"));
                }
            }
            else
            {
                if (starttime == endtime)
                {
                    return(File(ms.GetBuffer(), "application/vnd.ms-excel", starttime + "_库存明细统计.xls"));
                }
                else
                {
                    return(File(ms.GetBuffer(), "application/vnd.ms-excel", starttime + "-" + endtime + "_库存明细统计.xls"));
                }
            }
        }
コード例 #2
0
        public FileResult Export(Pagination pagination, string queryJson)
        {
            var      datas      = orgResMangerIBLL.GetProductRateList(pagination, queryJson);
            var      dt         = AsDataTable(datas);
            var      queryParam = queryJson.ToJObject();
            DateTime StartTime  = queryParam["StartTime"].ToDate();
            DateTime EndTime    = queryParam["EndTime"].ToDate();
            string   starttime  = StartTime.ToString("yyyyMMdd");
            string   endtime    = EndTime.ToString("yyyyMMdd");
            var      ms         = NPOIExcel.ToExcelMoreheader(dt, "物料出成率列表", "物料出成率列表", starttime, endtime);

            if (starttime == endtime)
            {
                return(File(ms.GetBuffer(), "application/vnd.ms-excel", starttime + "_物料出成率列表.xls"));
            }
            else
            {
                return(File(ms.GetBuffer(), "application/vnd.ms-excel", starttime + "-" + endtime + "_物料出成率列表.xls"));
            }
        }
コード例 #3
0
        /// <summary>
        /// 获取Export表数据
        /// <summary>
        /// <param name="queryJson">查询参数</param>
        /// <returns></returns>
        public FileResult Export(Pagination pagination, string queryJson)
        {
            pagination.page    = 1;
            pagination.records = 0;
            pagination.rows    = 99999999;
            pagination.sidx    = "g_code";
            pagination.sord    = "desc";
            DataTable dt = materialsSumIBLL.GetMaterialSumListByDate(pagination, queryJson);

            dt.Columns["rownum"].ColumnName            = "序号";
            dt.Columns["g_code"].ColumnName            = "商品编码";
            dt.Columns["g_name"].ColumnName            = "商品名称";
            dt.Columns["s_name"].ColumnName            = "仓库名称";
            dt.Columns["g_stockcode"].ColumnName       = "仓库编码";
            dt.Columns["g_unit"].ColumnName            = "单位";
            dt.Columns["price"].ColumnName             = "加权平均价(元)";
            dt.Columns["inventoryquantity"].ColumnName = "入库数量";
            dt.Columns["delivery"].ColumnName          = "出库数量";
            dt.Columns["initialinventory"].ColumnName  = "数量";
            dt.Columns["initialamount"].ColumnName     = "金额";
            dt.Columns["endinginventory"].ColumnName   = "数量 ";
            dt.Columns["finalamount"].ColumnName       = "金额 ";
            dt.Columns["back_qty"].ColumnName          = "次品退库_数量";
            dt.Columns["withdrawingnumber"].ColumnName = "退回仓库_数量";
            dt.Columns["materialssales"].ColumnName    = " 数量";
            dt.Columns["outprice"].ColumnName          = "单价";
            dt.Columns["outamount"].ColumnName         = " 金额";
            dt.Columns["scrapist"].ColumnName          = "报废物料_数量";
            dt.Columns["otherwarehouse"].ColumnName    = "其它入库_数量";
            dt.Columns["otheroutbound"].ColumnName     = "其它出库_数量";
            dt.Columns["supplierback"].ColumnName      = "退供应商_数量";
            dt.Columns.Remove("startTime");
            dt.Columns.Remove("endTime");
            //表格列名排序
            dt.Columns["序号"].SetOrdinal(0);
            dt.Columns["商品编码"].SetOrdinal(1);
            dt.Columns["商品名称"].SetOrdinal(2);
            dt.Columns["仓库名称"].SetOrdinal(3);
            dt.Columns["仓库编码"].SetOrdinal(4);
            dt.Columns["单位"].SetOrdinal(5);
            dt.Columns["加权平均价(元)"].SetOrdinal(6);
            dt.Columns["入库数量"].SetOrdinal(7);
            dt.Columns["出库数量"].SetOrdinal(8);
            dt.Columns["数量"].SetOrdinal(9);
            dt.Columns["金额"].SetOrdinal(10);
            dt.Columns["数量 "].SetOrdinal(11);
            dt.Columns["金额 "].SetOrdinal(12);
            dt.Columns["次品退库_数量"].SetOrdinal(13);
            dt.Columns["退回仓库_数量"].SetOrdinal(14);
            dt.Columns[" 数量"].SetOrdinal(15);
            dt.Columns["单价"].SetOrdinal(16);
            dt.Columns[" 金额"].SetOrdinal(17);
            dt.Columns["报废物料_数量"].SetOrdinal(18);
            dt.Columns["其它入库_数量"].SetOrdinal(19);
            dt.Columns["其它出库_数量"].SetOrdinal(20);
            dt.Columns["退供应商_数量"].SetOrdinal(21);
            //给数据
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (dt.Rows[i]["单价"].ToString() == null || dt.Rows[i]["单价"].ToString() == "")
                {
                    dt.Rows[i]["单价"] = 0;
                }
                else
                {
                    dt.Rows[i]["单价"] = dt.Rows[i]["单价"];
                }
                if (dt.Rows[i][" 金额"].ToString() == null || dt.Rows[i][" 金额"].ToString() == "")
                {
                    dt.Rows[i][" 金额"] = 0;
                }
                else
                {
                    dt.Rows[i][" 金额"] = dt.Rows[i][" 金额"];
                }
            }
            var      queryParam = queryJson.ToJObject();
            DateTime StartTime  = queryParam["StartTime"].ToDate();
            DateTime EndTime    = queryParam["EndTime"].ToDate();
            string   starttime  = StartTime.ToString("yyyyMMdd");
            string   endtime    = EndTime.ToString("yyyyMMdd");
            var      ms         = NPOIExcel.ToExcelMoreheader(dt, "原物料出入库统计", "原物料出入库统计", queryParam["StartTime"].ToString(), queryParam["EndTime"].ToString());

            if (starttime == endtime)
            {
                return(File(ms.GetBuffer(), "application/vnd.ms-excel", starttime + "_原物料出入库统计.xls"));
            }
            else
            {
                return(File(ms.GetBuffer(), "application/vnd.ms-excel", starttime + "-" + endtime + "_原物料出入库统计.xls"));
            }
        }
コード例 #4
0
        /// <summary>
        /// 获取Export表数据
        /// <summary>
        /// <param name="queryJson">查询参数</param>
        /// <returns></returns>
        public ActionResult Export(string queryJson)
        {
            string    message = "";
            DataTable dt      = pickingMaterIBLL.GetProductReportData(queryJson, out message);

            if (string.IsNullOrEmpty(message))
            {
                //给列名
                dt.Columns.Add("rownum", typeof(string));
                dt.Columns["rownum"].ColumnName             = "序号";
                dt.Columns["F_CreateDate"].ColumnName       = "日期";
                dt.Columns["F_GoodsCode_Source"].ColumnName = "原物料编码";
                dt.Columns["F_GoodsName_Source"].ColumnName = "原物料名称";
                dt.Columns["F_GoodsQty_Source"].ColumnName  = "数量(KG)";
                dt.Columns["F_GoodsCode_01"].ColumnName     = "物料编码";
                dt.Columns["F_GoodsName_01"].ColumnName     = "物料名称";
                dt.Columns["F_GoodsQty_01"].ColumnName      = "数量(KG) ";
                dt.Columns["F_ConvertRange_01"].ColumnName  = "转换标准率";
                dt.Columns["F_Convert_01"].ColumnName       = "转换率(%)";
                dt.Columns["F_GoodsCode_03"].ColumnName     = "物料编码 ";
                dt.Columns["F_GoodsName_03"].ColumnName     = "物料名称 ";
                dt.Columns["F_GoodsQty_03"].ColumnName      = " 数量(KG)";
                dt.Columns["F_ConvertRange_03"].ColumnName  = "转换标准率 ";
                dt.Columns["F_Convert_03"].ColumnName       = "转换率(%) ";
                dt.Columns["F_GoodsCode_04"].ColumnName     = " 物料编码";
                dt.Columns["F_GoodsName_04"].ColumnName     = " 物料名称";
                dt.Columns["F_GoodsQty_04"].ColumnName      = "实际份数量(盒)";
                dt.Columns["F_Convert_04"].ColumnName       = "理论份数(盒)";
                dt.Columns["F_ConvertTag_04"].ColumnName    = "偏差数(盒)";
                dt.Columns["F_ConvertRange_04"].ColumnName  = "偏差率(%)";
                //表格列名排序
                dt.Columns["序号"].SetOrdinal(0);
                dt.Columns["日期"].SetOrdinal(1);
                dt.Columns["原物料编码"].SetOrdinal(2);
                dt.Columns["原物料名称"].SetOrdinal(3);
                dt.Columns["数量(KG)"].SetOrdinal(4);
                dt.Columns["物料编码"].SetOrdinal(5);
                dt.Columns["物料名称"].SetOrdinal(6);
                dt.Columns["数量(KG) "].SetOrdinal(7);
                dt.Columns["转换标准率"].SetOrdinal(8);
                dt.Columns["转换率(%)"].SetOrdinal(9);
                dt.Columns["物料编码 "].SetOrdinal(10);
                dt.Columns["物料名称 "].SetOrdinal(11);
                dt.Columns[" 数量(KG)"].SetOrdinal(12);
                dt.Columns["转换标准率 "].SetOrdinal(13);
                dt.Columns["转换率(%) "].SetOrdinal(14);
                dt.Columns[" 物料编码"].SetOrdinal(15);
                dt.Columns[" 物料名称"].SetOrdinal(16);
                dt.Columns["实际份数量(盒)"].SetOrdinal(17);
                dt.Columns["理论份数(盒)"].SetOrdinal(18);
                dt.Columns["偏差数(盒)"].SetOrdinal(19);
                dt.Columns["偏差率(%)"].SetOrdinal(20);
                //删除不要的列
                dt.Columns.Remove("F_ConvertTag_01");
                dt.Columns.Remove("F_ConvertTag_03");
                #region 添加合计、统计行
                if (dt != null && dt.Rows.Count > 0)
                {
                    //插入统计行
                    if (true)
                    {
                        string current = dt.Rows[0]["日期"].ToString();
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            string last = dt.Rows[i]["日期"].ToString();
                            if (current != last)
                            {
                                DataRow dr = dt.NewRow();
                                dr["日期"] = "[" + current + "]合计";
                                dt.Rows.InsertAt(dr, i);

                                current = last;
                                i++;
                            }
                        }
                        DataRow drEnd = dt.NewRow();
                        drEnd["日期"] = "[" + current + "]合计";
                        dt.Rows.InsertAt(drEnd, dt.Rows.Count);

                        DataRow drSum = dt.NewRow();
                        drSum["日期"] = "总计";
                        dt.Rows.InsertAt(drSum, dt.Rows.Count);
                    }

                    //计算统计行
                    if (true)
                    {
                        for (int j = 0; j < dt.Columns.Count; j++)
                        {
                            //统计数量
                            if (dt.Columns[j].ColumnName.Contains("数量"))
                            {
                                decimal everysum_qty = 0;
                                decimal totalsum_qty = 0;
                                for (int i = 0; i < dt.Rows.Count; i++)
                                {
                                    string current = dt.Rows[i]["日期"].ToString();
                                    if (current.Contains("合计"))
                                    {
                                        dt.Rows[i][j] = Math.Round(everysum_qty, 2);
                                        everysum_qty  = 0;
                                    }
                                    else
                                    {
                                        if (current == "总计")
                                        {
                                            dt.Rows[i][j] = Math.Round(totalsum_qty, 2);
                                            everysum_qty  = 0;
                                        }
                                        else
                                        {
                                            if (dt.Rows[i][j] == DBNull.Value)
                                            {
                                                everysum_qty += 0;
                                                totalsum_qty += 0;
                                            }
                                            else
                                            {
                                                everysum_qty += decimal.Parse(dt.Rows[i][j].ToString());
                                                totalsum_qty += decimal.Parse(dt.Rows[i][j].ToString());
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                #endregion
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    dt.Rows[i]["序号"] = i + 1;
                }

                var      queryParam = queryJson.ToJObject();
                DateTime StartTime  = queryParam["StartTime"].ToDate();
                DateTime EndTime    = queryParam["EndTime"].ToDate();
                string   starttime  = StartTime.ToString("yyyyMMdd");
                string   endtime    = EndTime.ToString("yyyyMMdd");
                var      ms         = NPOIExcel.ToExcelMoreheader(dt, "出成率报表-按原物料", "出成率报表-按原物料", queryParam["StartTime"].ToString(), queryParam["EndTime"].ToString());
                if (starttime == endtime)
                {
                    return(File(ms.GetBuffer(), "application/vnd.ms-excel", starttime + "_出成率报表-按原物料.xls"));
                }
                else
                {
                    return(File(ms.GetBuffer(), "application/vnd.ms-excel", starttime + "-" + endtime + "_出成率报表-按原物料.xls"));
                }
            }
            else
            {
                return(Fail(message));
            }
        }