Пример #1
0
        /// <summary>
        /// 导出SAP订单工艺及外协信息到Excel文件,并返回文件Token
        /// </summary>
        public async Task <FileDto> GetSapOrderProcessWithCooperaterExcel(GetSapOrderProcessWithCooperaterInput input)
        {
            var processList = await this.getSapOrderProcessWithCooperQuery(input).ToListAsync();

            var resultList = processList.Select(this.mapToSapProcessOutput).ToList();
            var fileStream = ExcelOutput.RenderToStream(resultList, new Dictionary <string, DataTableExtension.PropertyConventer>
            {
                //订单
                { "OrderNumber", new DataTableExtension.PropertyConventer("订单号", null) },
                { "MRPController", new DataTableExtension.PropertyConventer("MRP控制者", null) },
                { "MaterialNumber", new DataTableExtension.PropertyConventer("物料编码", null) },
                { "MaterialDescription", new DataTableExtension.PropertyConventer("物料名称", null) },
                { "TargetQuantity", new DataTableExtension.PropertyConventer("订单总计数量", null) },
                { "WBSElement", new DataTableExtension.PropertyConventer("WBS元素", null) },
                //工艺
                { "OperationNumber", new DataTableExtension.PropertyConventer("工序号", null) },
                { "OperationCtrlCode", new DataTableExtension.PropertyConventer("控制码", null) },
                { "WorkCenterCode", new DataTableExtension.PropertyConventer("工作中心", null) },
                { "WorkCenterName", new DataTableExtension.PropertyConventer("工作中心描述", null) },
                { "VGW01", new DataTableExtension.PropertyConventer("准备工时", null) },
                { "VGW02", new DataTableExtension.PropertyConventer("机器工时", null) },
                { "VGW03", new DataTableExtension.PropertyConventer("人工工时", null) },
                //外协
                { "CooperateType", new DataTableExtension.PropertyConventer("外协类型", p => ((int?)(SapMOrderProcessCooperateType?)p)?.ToString()) },
                { "CooperaterCode", new DataTableExtension.PropertyConventer("供方代码", null) },
                { "CooperaterName", new DataTableExtension.PropertyConventer("供方名称", null) },
                { "CooperaterPrice", new DataTableExtension.PropertyConventer("外协价格", null) },
            });

            return(this.SaveToTempFolder(fileStream, "SAP工艺列表.xlsx", "application/x-excel"));
        }
Пример #2
0
        getSapOrderProcessWithCooperQuery(GetSapOrderProcessWithCooperaterInput input)
        {
            var query = this._sapMOrderManager.GetSapMOrderProcessListWithCooperateQuery()
                        //条件
                        .WhereIf(!string.IsNullOrWhiteSpace(input.OrderNumberRangeBegin),
                                 p => String.Compare(p.ProcessLine.SapMOrder.OrderNumber, input.OrderNumberRangeBegin, StringComparison.Ordinal) >= 0)
                        .WhereIf(!string.IsNullOrWhiteSpace(input.OrderNumberRangeEnd),
                                 p => String.Compare(p.ProcessLine.SapMOrder.OrderNumber, input.OrderNumberRangeEnd, StringComparison.Ordinal) <= 0)
                        .OrderBy(p => p.ProcessLine.SapMOrder.OrderNumber)
                        .ThenBy(p => p.ProcessLine.OperationNumber);

            return(query);
        }