public LotBOM GetLotBBBom(string lotNumber) { LotBOM lotBOMBB = null; using (LotQueryServiceClient client = new LotQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { PageNo = 0, PageSize = 1, Where = string.Format("Key.LotNumber='{0}' AND MaterialCode like'130308%'", lotNumber) }; MethodReturnResult <IList <LotBOM> > result = client.GetLotBOM(ref cfg); if (result.Code <= 0 && result.Data != null && result.Data.Count > 0) { lotBOMBB = result.Data[0]; } } return(lotBOMBB); }
public LotBOM GetLotCellMaterial(string lotNumber) { LotBOM lotBOMObj = null; using (LotQueryServiceClient client = new LotQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { PageNo = 0, PageSize = 1, //Where = string.Format("Key.LotNumber='{0}' AND Key.ItemNo=1", lotNumber) Where = string.Format("Key.LotNumber='{0}' AND (MaterialCode Like '11%' OR MaterialCode LIKE '1803%' OR MaterialCode LIKE '2511%') ", lotNumber) }; MethodReturnResult <IList <LotBOM> > result = client.GetLotBOM(ref cfg); if (result.Code <= 0 && result.Data != null && result.Data.Count > 0) { lotBOMObj = result.Data[0]; } } return(lotBOMObj); }
public async Task <ActionResult> ExportToExcel(LotQueryViewModel model) { IList <Lot> lstLot = new List <Lot>(); using (LotQueryServiceClient client = new LotQueryServiceClient()) { await Task.Run(() => { PagingConfig cfg = new PagingConfig() { IsPaging = false, OrderBy = "CreateTime DESC,Key Desc", Where = GetQueryCondition(model) }; MethodReturnResult <IList <Lot> > result = client.Get(ref cfg); if (result.Code == 0) { lstLot = result.Data; } }); } //创建工作薄。 IWorkbook wb = new HSSFWorkbook(); //设置EXCEL格式 ICellStyle style = wb.CreateCellStyle(); style.FillForegroundColor = 10; //有边框 style.BorderBottom = BorderStyle.Thin; style.BorderLeft = BorderStyle.Thin; style.BorderRight = BorderStyle.Thin; style.BorderTop = BorderStyle.Thin; IFont font = wb.CreateFont(); font.Boldweight = 10; style.SetFont(font); LotViewModel m = new LotViewModel(); ISheet ws = null; for (int j = 0; j < lstLot.Count; j++) { if (j % 65535 == 0) { ws = wb.CreateSheet(); IRow row = ws.CreateRow(0); #region //列名 ICell cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(StringResource.ItemNo); //项目号 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotNumber); //批次号 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_OriginalOrderNumber); //原始工单号 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_OrderNumber); //工单号 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_MaterialCode); //产品号 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_Quantity); //数量 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue("效率档"); //效率档 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_Grade); //等级 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_Color); //花色 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_LineCode); //线别代码 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_EquipmentCode); //设备代码 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_LocationName); //车间名称 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_RouteEnterpriseName); //工艺流程组 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_RouteName); //工艺流程 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_RouteStepName); //工步 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_StartWaitTime); //开始等待时间 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_StartProcessTime); //开始处理时间 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_StateFlag); //批次状态 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_LotType); //批次类型 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_HoldFlag); //暂停标志 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_DeletedFlag); //结束标志 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_PackageFlag); //包装标志 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_PackageNo); //包装号 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_RepairFlag); //返修标志 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_ReworkFlag); //返工标志 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_ReworkTime); //返工时间 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(WIPResources.StringResource.LotViewModel_Reworker); //返工操作人 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue("电池片物料名称"); //电池片物料 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue("电池片物料"); //电池片物料 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue("电池片批号"); //电池片批号 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue("电池片供应商"); //电池片供应商 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(StringResource.CreateTime); //创建时间 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(StringResource.Creator); //创建人 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(StringResource.EditTime); //编辑时间 cell = row.CreateCell(row.Cells.Count); cell.CellStyle = style; cell.SetCellValue(StringResource.Editor); //编辑人 #endregion font.Boldweight = 5; } Lot obj = lstLot[j]; IRow rowData = ws.CreateRow(j + 1); LotBOM lotBOMObj = m.GetLotCellMaterial(obj.Key); #region //数据 ICell cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(j + 1); //项目号 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.Key); //批次号 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.OriginalOrderNumber); //原始工单号 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.OrderNumber); //工单号 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.MaterialCode); //产品号 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.Quantity); //数量 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.Attr1); //效率档 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.Grade); //等级 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.Color); //花色 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.LineCode); //线别代码 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.EquipmentCode); //设备代码 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.LocationName); //车间名称 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.RouteEnterpriseName); //工艺流程组 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.RouteName); //工艺流程 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.RouteStepName); //工步 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(string.Format("{0:yyyy-MM-dd HH:mm:ss}", obj.StartWaitTime)); //开始等待时间 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(string.Format("{0:yyyy-MM-dd HH:mm:ss}", obj.StartProcessTime)); //开始处理时间 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.StateFlag.GetDisplayName()); //批次状态 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.LotType.GetDisplayName()); //批次类型 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.HoldFlag ? StringResource.Yes : StringResource.No); //暂停标志 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.DeletedFlag ? StringResource.Yes : StringResource.No); //结束标志 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.PackageFlag ? StringResource.Yes : StringResource.No); //包装标志 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.PackageNo); //包装号 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.RepairFlag); //返修次数 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.ReworkFlag); //返工次数 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(string.Format("{0:yyyy-MM-dd HH:mm:ss}", obj.ReworkTime)); //返工时间 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.Reworker); //返工操作人 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(lotBOMObj != null ? lotBOMObj.MaterialCode : string.Empty); //电池片物料编码 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(lotBOMObj != null ? lotBOMObj.MaterialName : string.Empty); //电池片物料编码 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(lotBOMObj != null ? lotBOMObj.Key.MaterialLot : string.Empty); //电池片批号 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(lotBOMObj != null ? lotBOMObj.SupplierName : string.Empty); //供应商名称 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(string.Format("{0:yyyy-MM-dd HH:mm:ss}", obj.CreateTime)); //创建时间 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.Creator); //创建人 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(string.Format("{0:yyyy-MM-dd HH:mm:ss}", obj.EditTime)); //编辑时间 cellData = rowData.CreateCell(rowData.Cells.Count); cellData.CellStyle = style; cellData.SetCellValue(obj.Editor); //编辑人 #endregion } MemoryStream ms = new MemoryStream(); wb.Write(ms); ms.Flush(); ms.Position = 0; return(File(ms, "application/vnd.ms-excel", "LotData.xls")); }
public Supplier GetLotBBMaterialSupplier(string lotNumber) { LotBOM lotBOMGlass = null; using (LotQueryServiceClient client = new LotQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { PageNo = 0, PageSize = 1, Where = string.Format("Key.LotNumber='{0}' AND MaterialCode like'130308%'", lotNumber) }; MethodReturnResult <IList <LotBOM> > result = client.GetLotBOM(ref cfg); if (result.Code <= 0 && result.Data != null && result.Data.Count > 0) { lotBOMGlass = result.Data[0]; } } Lot Lot = null; using (LotQueryServiceClient client = new LotQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { PageNo = 0, PageSize = 1, Where = string.Format("Key.LotNumber='{0}'", lotNumber) }; MethodReturnResult <Lot> result = client.Get(lotNumber); if (result.Code <= 0 && result.Data != null) { Lot = result.Data; } } Supplier sBB = null; using (SupplierServiceClient client = new SupplierServiceClient()) { PagingConfig cfg = new PagingConfig() { PageNo = 0, PageSize = 1, Where = string.Format(@"EXISTS (FROM LineStoreMaterialDetail as p WHERE p.SupplierCode=self.Key AND p.Key.MaterialLot='{0}' AND p.Key.MaterialCode='{1}' AND p.Key.LineStoreName='{2}' AND p.Key.OrderNumber='{3}')" , lotBOMGlass.Key.MaterialLot , lotBOMGlass.MaterialCode , lotBOMGlass.LineStoreName , Lot.OrderNumber != null ? Lot.OrderNumber : string.Empty ) }; MethodReturnResult <IList <Supplier> > rst = client.Get(ref cfg); if (rst.Code <= 0 && rst.Data.Count > 0) { sBB = rst.Data[0]; } return(sBB); } }