/// <summary>
        /// 保存装箱清单Excel文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void btnHoodPackingList_Click(object sender, EventArgs e)
        {
            if (execList.Count == 0)
            {
                return;
            }
            btnHoodPackingList.Enabled = false;
            tspbStatus.Value           = 0;
            tspbStatus.Step            = 1;
            tspbStatus.Maximum         = execList.Count;
            List <JobCard> jobCardList = new List <JobCard>();

            foreach (var item in execList)
            {
                tsslStatus.Text = item.Item + "(" + item.Module + ")正在导出数据...";
                JobCard objJobCard = new JobCardService().GetJobCard(item);
                //核对信息
                if (objJobCard.Length == 0)
                {
                    MessageBox.Show("编号" + objJobCard.Item + "中" + objJobCard.Module + "烟罩数据没有填写,请认真检查", "信息核对");
                    return;
                }
                jobCardList.Add(objJobCard);
                tspbStatus.Value += 1;
            }
            tsslStatus.Text = "正在将数据写入excel文件...";
            await ExportHoodPackingListAsync(jobCardList);

            tsslStatus.Text            = "装箱清单导出完成,请在项目文件夹中查看!";
            tspbStatus.Value           = execList.Count;
            btnHoodPackingList.Enabled = true;
        }
Example #2
0
 public JobCardController(JobCardService jobCardService)
 {
     _jobCardService = jobCardService;
 }
Example #3
0
        /// <summary>
        /// 标准烟罩打印JobCard
        /// </summary>
        /// <param name="tree"></param>
        public void ExecPrintHoodJobCard(ModuleTree tree)
        {
            JobCard objJobCard = new JobCardService().GetJobCard(tree);

            //核对信息
            if (objJobCard.Length == 0)
            {
                MessageBox.Show("编号" + objJobCard.Item + "中" + objJobCard.Module + "烟罩数据没有填写,请认真检查", "信息核对");
                return;
            }
            if (objJobCard.LabelImage.Length == 0)
            {
                MessageBox.Show("编号" + objJobCard.Item + "中" + objJobCard.Module + "JobCard标签截图没有上传,请回到模型树中双击Item上传截图,请认真检查", "信息核对");
                return;
            }
            Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
            string excelBookPath = Environment.CurrentDirectory + "\\JobCard.xlsx";

            excelApp.Workbooks.Add(excelBookPath);
            Microsoft.Office.Interop.Excel.Worksheet workSheet = excelApp.Worksheets[1];
            //插入Item图片
            if (objJobCard.LabelImage.Length != 0)
            {
                Image  image     = (Image) new Common.SerializeObjectToString().DeserializeObject(objJobCard.LabelImage);
                string imagePath = Environment.CurrentDirectory + "\\LabelImage.jpg";
                if (File.Exists(imagePath))
                {
                    File.Delete(imagePath);                        //删除图片
                }
                else
                {
                    //保存图片到系统目录中
                    image.Save(imagePath);
                    //将图片插入excel
                    workSheet.Shapes.AddPicture(imagePath, Microsoft.Office.Core.MsoTriState.msoFalse,
                                                Microsoft.Office.Core.MsoTriState.msoTrue, 5, 157, 580, 225); //左,上,宽度,高度
                    workSheet.Shapes.AddPicture(imagePath, Microsoft.Office.Core.MsoTriState.msoFalse,
                                                Microsoft.Office.Core.MsoTriState.msoTrue, 5, 545, 580, 225); //左,上,宽度,高度
                    //使用完毕后删除保存的图片
                    File.Delete(imagePath);
                }
            }
            //通用信息
            workSheet.Cells[48, 3] = objJobCard.ODPNo;
            workSheet.Cells[49, 3] = objJobCard.BPONo;
            workSheet.Cells[50, 3] = objJobCard.ProjectName;
            workSheet.Cells[51, 3] = objJobCard.CustomerName;
            workSheet.Cells[58, 7] = objJobCard.ShippingTime.ToShortDateString();

            //标准烟罩
            if (objJobCard.HoodType == "Hood")
            {
                workSheet.Cells[52, 3] = objJobCard.Item + "(" + objJobCard.Module + ")";
                workSheet.Cells[53, 3] = objJobCard.Model;
                workSheet.Cells[65, 4] = objJobCard.Module;
                //长度
                if (objJobCard.Model == "KVI" || objJobCard.Model == "KVF" || objJobCard.Model == "UVI" || objJobCard.Model == "UVF" ||
                    objJobCard.Model == "KWI" || objJobCard.Model == "KWF" || objJobCard.Model == "UWI" || objJobCard.Model == "UWF" ||
                    objJobCard.Model == "CMOD" || objJobCard.Model == "KVIM" || objJobCard.Model == "UVIM")
                {
                    if (objJobCard.Length != 0 && objJobCard.SidePanel == "BOTH")
                    {
                        workSheet.Cells[65, 5] = objJobCard.Length + 100;
                    }
                    else if (objJobCard.SidePanel == "MIDDLE")
                    {
                        workSheet.Cells[65, 5] = objJobCard.Length;
                    }
                    else
                    {
                        workSheet.Cells[65, 5] = objJobCard.Length + 50;
                    }
                }
                else
                {
                    workSheet.Cells[65, 5] = objJobCard.Length;
                }
                workSheet.Cells[65, 6] = objJobCard.Deepth;
                workSheet.Cells[65, 7] = objJobCard.Height;
                workSheet.Cells[65, 8] = objJobCard.SidePanel;
            }
            //天花烟罩
            else if (objJobCard.HoodType == "Ceiling")
            {
                workSheet.Cells[52, 3] = objJobCard.Item;
                workSheet.Cells[53, 3] = objJobCard.Model;
                workSheet.Cells[65, 4] = "";
                workSheet.Cells[65, 5] = "";
                workSheet.Cells[65, 6] = "";
                workSheet.Cells[65, 7] = "";
                workSheet.Cells[65, 8] = "";
            }
            //UL烟罩
            else
            {
            }
            //特殊要求
            List <string> srList = new RequirementService().GetSpecialRequirementList(objJobCard.ODPNo);

            for (int i = 0; i < srList.Count; i++)
            {
                if (i > 6)
                {
                    continue;
                }
                workSheet.Cells[68 + i * 2, 3] = srList[i];
            }
            //预览
            //excelApp.Visible = true;
            //excelApp.Sheets.PrintPreview(true);
            //打印
            workSheet.PrintOutEx();
            KillProcess(excelApp);
            excelApp = null; //对象置空
            GC.Collect();    //垃圾回收机制
        }