public override DataSet GetData(List <reportParm> parms) { //報表資料 List <DepositReportESTATEData> ReportDataList = new List <DepositReportESTATEData>(); var resultsTable = new DataSet(); var ReportData = new DepositReportESTATEData(); string vdept = parms.Where(x => x.key == "vdept").FirstOrDefault()?.value ?? string.Empty; string vsect = parms.Where(x => x.key == "vsect").FirstOrDefault()?.value ?? string.Empty; string BOOK_NO = parms.Where(x => x.key == "vBook_No").FirstOrDefault()?.value ?? string.Empty; string JobProject = parms.Where(x => x.key == "vJobProject").FirstOrDefault()?.value ?? string.Empty; string APLY_DT_From = parms.Where(x => x.key == "APLY_DT_From").FirstOrDefault()?.value ?? string.Empty; //庫存日期 string APLY_ODT_From = parms.Where(x => x.key == "APLY_ODT_From").FirstOrDefault()?.value ?? string.Empty; string APLY_ODT_To = parms.Where(x => x.key == "APLY_ODT_To").FirstOrDefault()?.value ?? string.Empty; using (TreasuryDBEntities db = new TreasuryDBEntities()) { var _APLY_DT = TypeTransfer.stringToDateTime(APLY_DT_From).DateToLatestTime(); var _APLY_DT_Date = _APLY_DT.Date; var dtn = DateTime.Now.Date; var _APLY_ODT_From = TypeTransfer.stringToDateTimeN(APLY_ODT_From); var _APLY_ODT_To = TypeTransfer.stringToDateTimeN(APLY_ODT_To).DateToLatestTime(); int TOTAL = 0; INVENTORY_STATUSs.AddRange(new List <string>() { ((int)AccessInventoryType._5).ToString(), //預約取出,計庫存 ((int)AccessInventoryType._6).ToString(), //已被取出,計庫存 ((int)AccessInventoryType._9).ToString() }); //預約存入,計庫存 var _IRE = db.ITEM_REAL_ESTATE.AsNoTracking().ToList(); _IRE = db.ITEM_REAL_ESTATE.AsNoTracking()//判斷是否在庫 .Where(x => INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS), _APLY_DT_Date == dtn) .Where(x => (INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS) && x.PUT_DATE <= _APLY_DT) // 在庫 且 存入日期 <= 庫存日期 || (x.INVENTORY_STATUS == INVENTORY_STATUSg && x.PUT_DATE <= _APLY_DT && _APLY_DT < x.GET_DATE), //存入日期 <= 庫存日期 且 庫存日期 < 取出日期 _APLY_DT_Date != dtn) .Where(x => x.CHARGE_DEPT == vdept, vdept != "All") .Where(x => x.CHARGE_SECT == vsect, vsect != "All") .Where(x => x.GROUP_NO.ToString() == BOOK_NO, BOOK_NO != "All") .Where(x => x.PUT_DATE >= _APLY_ODT_From, _APLY_ODT_From != null) .Where(x => x.PUT_DATE <= _APLY_ODT_To, _APLY_ODT_To != null).ToList(); var depts = new List <VW_OA_DEPT>(); var types = new List <SYS_CODE>(); var book = new List <ITEM_BOOK>(); using (DB_INTRAEntities dbINTRA = new DB_INTRAEntities()) { depts = dbINTRA.VW_OA_DEPT.AsNoTracking().Where(x => x.DPT_CD != null).ToList(); } types = db.SYS_CODE.AsNoTracking().Where(x => x.CODE != null && x.CODE_TYPE == "ESTATE_TYPE").ToList(); book = db.ITEM_BOOK.AsNoTracking().Where(x => x.GROUP_NO.ToString() != null).ToList(); _IRE.ForEach(x => { x.ESTATE_FORM_NO = types.FirstOrDefault(y => y.CODE_VALUE == x.ESTATE_FORM_NO)?.CODE; }); foreach (var ESTATEdata in _IRE.OrderBy(x => x.GROUP_NO).ThenBy(x => x.PUT_DATE).ThenBy(x => x.ESTATE_FORM_NO).ThenBy(x => x.ESTATE_DATE).ThenBy(x => x.OWNERSHIP_CERT_NO)) { TOTAL++; var _CHARGE_DEPT = getEmpName(depts, ESTATEdata.CHARGE_DEPT); var _CHARGE_SECT = getEmpName(depts, ESTATEdata.CHARGE_SECT)?.Replace(_CHARGE_DEPT, "")?.Trim(); ReportData = new DepositReportESTATEData() { ROW = TOTAL, PUT_DATE = ESTATEdata.PUT_DATE.dateTimeToStr(), ESTATE_FORM_NO = types.FirstOrDefault(x => x.CODE == ESTATEdata.ESTATE_FORM_NO)?.CODE_VALUE, ESTATE_DATE = ESTATEdata.ESTATE_DATE.dateTimeToStr(), OWNERSHIP_CERT_NO = ESTATEdata.OWNERSHIP_CERT_NO, LAND_BUILDING_NO = ESTATEdata.LAND_BUILDING_NO, HOUSE_NO = ESTATEdata.HOUSE_NO, ESTATE_SEQ = ESTATEdata.ESTATE_SEQ, BOOK_NO_DETAIL = ESTATEdata.GROUP_NO.ToString(), BUILDING_NAME = getBuildName(book, ESTATEdata.GROUP_NO.ToString()), LOCATED = getLocated(book, ESTATEdata.GROUP_NO.ToString()), CHARGE_DEPT = _CHARGE_DEPT, CHARGE_SECT = _CHARGE_SECT, CHARGE_DEPT_ID = ESTATEdata.CHARGE_DEPT, CHARGE_SECT_ID = ESTATEdata.CHARGE_SECT, MEMO = ESTATEdata.MEMO, }; ReportDataList.Add(ReportData); } } resultsTable.Tables.Add(ReportDataList.ToDataTable()); return(resultsTable); }
public override DataSet GetData(List <reportParm> parms) { //報表資料 List <DepositReportSealData> ReportDataList = new List <DepositReportSealData>(); var resultsTable = new DataSet(); var ReportData = new DepositReportSealData(); string vdept = parms.Where(x => x.key == "vdept").FirstOrDefault()?.value ?? string.Empty; string vsect = parms.Where(x => x.key == "vsect").FirstOrDefault()?.value ?? string.Empty; string JobProject = parms.Where(x => x.key == "vJobProject").FirstOrDefault()?.value ?? string.Empty; string APLY_DT_From = parms.Where(x => x.key == "APLY_DT_From").FirstOrDefault()?.value ?? string.Empty; //庫存日期 string APLY_ODT_From = parms.Where(x => x.key == "APLY_ODT_From").FirstOrDefault()?.value ?? string.Empty; string APLY_ODT_To = parms.Where(x => x.key == "APLY_ODT_To").FirstOrDefault()?.value ?? string.Empty; using (TreasuryDBEntities db = new TreasuryDBEntities()) { var _APLY_DT = TypeTransfer.stringToDateTime(APLY_DT_From).DateToLatestTime(); var _APLY_DT_Date = _APLY_DT.Date; var dtn = DateTime.Now.Date; var _APLY_ODT_From = TypeTransfer.stringToDateTimeN(APLY_ODT_From); var _APLY_ODT_To = TypeTransfer.stringToDateTimeN(APLY_ODT_To).DateToLatestTime(); int TOTAL = 0; INVENTORY_STATUSs.AddRange(new List <string>() { ((int)AccessInventoryType._5).ToString(), //預約取出,計庫存 ((int)AccessInventoryType._6).ToString(), //已被取出,計庫存 ((int)AccessInventoryType._9).ToString() }); //預約存入,計庫存 //預約取出 , 用印 , 存入用印 var _IS = db.ITEM_SEAL.AsNoTracking() //判斷是否在庫 .Where(x => INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS), _APLY_DT_Date == dtn) .Where(x => (INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS) && x.PUT_DATE_ACCESS <= _APLY_DT) // 在庫 且 存入日期 <= 庫存日期 //(18/12/27 update x.PUT_DATE => x.PUT_DATE_ACCESS) || (x.INVENTORY_STATUS == INVENTORY_STATUSg && x.PUT_DATE_ACCESS <= _APLY_DT && //(18 / 12 / 27 update x.PUT_DATE => x.PUT_DATE_ACCESS) _APLY_DT < x.GET_DATE), //存入日期 <= 庫存日期 且 庫存日期 < 取出日期 _APLY_DT_Date != dtn) .Where(x => x.CHARGE_DEPT == vdept, vdept != "All") .Where(x => x.CHARGE_SECT == vsect, vsect != "All") .Where(x => x.PUT_DATE_ACCESS >= _APLY_ODT_From, _APLY_ODT_From != null) //(18 / 12 / 27 update x.PUT_DATE => x.PUT_DATE_ACCESS) .Where(x => x.PUT_DATE_ACCESS <= _APLY_ODT_To, _APLY_ODT_To != null) //(18 / 12 / 27 update x.PUT_DATE => x.PUT_DATE_ACCESS) .Where(x => x.TREA_ITEM_NAME == JobProject).ToList(); var depts = new List <VW_OA_DEPT>(); //var types = new List<SYS_CODE>(); using (DB_INTRAEntities dbINTRA = new DB_INTRAEntities()) { depts = dbINTRA.VW_OA_DEPT.AsNoTracking().Where(x => x.DPT_CD != null).ToList(); } //types = db.SYS_CODE.AsNoTracking().Where(x => x.CODE !=null).ToList(); foreach (var Sealdata in _IS.OrderBy(x => x.PUT_DATE_ACCESS).ThenByDescending(x => x.LAST_UPDATE_DT) /*.ThenBy(x=>x.CHARGE_DEPT).ThenBy(x=>x.CHARGE_SECT)*/) { TOTAL++; var _CHARGE_DEPT = getEmpName(depts, Sealdata.CHARGE_DEPT); var _CHARGE_SECT = getEmpName(depts, Sealdata.CHARGE_SECT)?.Replace(_CHARGE_DEPT, "")?.Trim(); ReportData = new DepositReportSealData() { ROW = TOTAL, PUT_DATE = Sealdata.PUT_DATE_ACCESS.dateTimeToStr(), CHARGE_DEPT = _CHARGE_DEPT, CHARGE_SECT = _CHARGE_SECT, SEAL_DESC = Sealdata.SEAL_DESC, MEMO = Sealdata.MEMO, CHARGE_DEPT_ID = Sealdata.CHARGE_DEPT, CHARGE_SECT_ID = Sealdata.CHARGE_SECT }; ReportDataList.Add(ReportData); } } resultsTable.Tables.Add(ReportDataList.ToDataTable()); return(resultsTable); }
public override DataSet GetData(List <reportParm> parms) { //報表資料 List <DepositReportCAData> ReportDataList = new List <DepositReportCAData>(); var resultsTable = new DataSet(); var ReportData = new DepositReportCAData(); string vdept = parms.Where(x => x.key == "vdept").FirstOrDefault()?.value ?? string.Empty; string vsect = parms.Where(x => x.key == "vsect").FirstOrDefault()?.value ?? string.Empty; string JobProject = parms.Where(x => x.key == "vJobProject").FirstOrDefault()?.value ?? string.Empty; string APLY_DT_From = parms.Where(x => x.key == "APLY_DT_From").FirstOrDefault()?.value ?? string.Empty; //庫存日期 string APLY_ODT_From = parms.Where(x => x.key == "APLY_ODT_From").FirstOrDefault()?.value ?? string.Empty; string APLY_ODT_To = parms.Where(x => x.key == "APLY_ODT_To").FirstOrDefault()?.value ?? string.Empty; using (TreasuryDBEntities db = new TreasuryDBEntities()) { var _APLY_DT = TypeTransfer.stringToDateTime(APLY_DT_From).DateToLatestTime(); var _APLY_DT_Date = _APLY_DT.Date; var dtn = DateTime.Now.Date; var _APLY_ODT_From = TypeTransfer.stringToDateTimeN(APLY_ODT_From); var _APLY_ODT_To = TypeTransfer.stringToDateTimeN(APLY_ODT_To).DateToLatestTime(); int TOTAL = 0; INVENTORY_STATUSs.AddRange(new List <string>() { ((int)AccessInventoryType._5).ToString(), //預約取出,計庫存 ((int)AccessInventoryType._6).ToString(), //已被取出,計庫存 ((int)AccessInventoryType._9).ToString() }); //預約存入,計庫存 var _IC = db.ITEM_CA.AsNoTracking() //判斷是否在庫 .Where(x => INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS), _APLY_DT_Date == dtn) .Where(x => (INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS) && x.PUT_DATE <= _APLY_DT) // 在庫 且 存入日期 <= 庫存日期 || (x.INVENTORY_STATUS == INVENTORY_STATUSg && x.PUT_DATE <= _APLY_DT && _APLY_DT < x.GET_DATE), //存入日期 <= 庫存日期 且 庫存日期 < 取出日期 _APLY_DT_Date != dtn) .Where(x => x.CHARGE_DEPT == vdept, vdept != "All") .Where(x => x.CHARGE_SECT == vsect, vsect != "All") .Where(x => x.PUT_DATE >= _APLY_ODT_From, _APLY_ODT_From != null) .Where(x => x.PUT_DATE <= _APLY_ODT_To, _APLY_ODT_To != null) .ToList(); var depts = new List <VW_OA_DEPT>(); var types = new List <SYS_CODE>(); using (DB_INTRAEntities dbINTRA = new DB_INTRAEntities()) { depts = dbINTRA.VW_OA_DEPT.AsNoTracking().Where(x => x.DPT_CD != null).ToList(); } types = db.SYS_CODE.AsNoTracking().Where(x => x.CODE != null).ToList(); foreach (var CAdata in _IC /*.OrderBy(x => x.PUT_DATE).ThenBy(x=>x.CHARGE_DEPT)*/.OrderBy(x => x.CHARGE_DEPT).ThenBy(x => x.CHARGE_SECT).ThenBy(x => x.CA_USE).ThenBy(x => x.CA_DESC).ThenBy(x => x.BANK).ThenBy(x => x.CA_NUMBER)) { TOTAL++; var _CHARGE_DEPT = getEmpName(depts, CAdata.CHARGE_DEPT); var _CHARGE_SECT = getEmpName(depts, CAdata.CHARGE_SECT)?.Replace(_CHARGE_DEPT, "")?.Trim(); ReportData = new DepositReportCAData() { ROW = TOTAL, PUT_DATE = CAdata.PUT_DATE.dateTimeToStr(), CHARGE_DEPT = _CHARGE_DEPT, CHARGE_SECT = _CHARGE_SECT, CA_DESC = getCAdesc(types, CAdata.CA_DESC), CA_USE = getCAuse(types, CAdata.CA_USE), BANK = CAdata.BANK, CA_NUMBER = CAdata.CA_NUMBER, MEMO = CAdata.MEMO, CHARGE_DEPT_ID = CAdata.CHARGE_DEPT, CHARGE_SECT_ID = CAdata.CHARGE_SECT }; ReportDataList.Add(ReportData); } } resultsTable.Tables.Add(ReportDataList.ToDataTable()); return(resultsTable); }
public override DataSet GetData(List <reportParm> parms) { //報表資料 List <DepositReportMargingData> ReportDataList = new List <DepositReportMargingData>(); var resultsTable = new DataSet(); var ReportData = new DepositReportMargingData(); string vdept = parms.Where(x => x.key == "vdept").FirstOrDefault()?.value ?? string.Empty; string vsect = parms.Where(x => x.key == "vsect").FirstOrDefault()?.value ?? string.Empty; string JobProject = parms.Where(x => x.key == "vJobProject").FirstOrDefault()?.value ?? string.Empty; string APLY_DT_From = parms.Where(x => x.key == "APLY_DT_From").FirstOrDefault()?.value ?? string.Empty; //庫存日期 string APLY_ODT_From = parms.Where(x => x.key == "APLY_ODT_From").FirstOrDefault()?.value ?? string.Empty; string APLY_ODT_To = parms.Where(x => x.key == "APLY_ODT_To").FirstOrDefault()?.value ?? string.Empty; using (TreasuryDBEntities db = new TreasuryDBEntities()) { var _APLY_DT = TypeTransfer.stringToDateTime(APLY_DT_From).DateToLatestTime(); var _APLY_DT_Date = _APLY_DT.Date; var dtn = DateTime.Now.Date; var _APLY_ODT_From = TypeTransfer.stringToDateTimeN(APLY_ODT_From); var _APLY_ODT_To = TypeTransfer.stringToDateTimeN(APLY_ODT_To).DateToLatestTime(); INVENTORY_STATUSs.AddRange(new List <string>() { ((int)AccessInventoryType._5).ToString(), //預約取出,計庫存 ((int)AccessInventoryType._6).ToString(), //已被取出,計庫存 ((int)AccessInventoryType._9).ToString() }); //預約存入,計庫存 var _IRD = db.ITEM_REFUNDABLE_DEP.AsNoTracking() //判斷是否在庫 .Where(x => INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS), _APLY_DT_Date == dtn) .Where(x => (INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS) && x.PUT_DATE <= _APLY_DT) // 在庫 且 存入日期 <= 庫存日期 || (x.INVENTORY_STATUS == INVENTORY_STATUSg && x.PUT_DATE <= _APLY_DT && _APLY_DT < x.GET_DATE), //存入日期 <= 庫存日期 且 庫存日期 < 取出日期 _APLY_DT_Date != dtn) .Where(x => x.CHARGE_DEPT == vdept, vdept != "All") .Where(x => x.CHARGE_SECT == vsect, vsect != "All") .Where(x => x.PUT_DATE >= _APLY_ODT_From, _APLY_ODT_From != null) .Where(x => x.PUT_DATE <= _APLY_ODT_To, _APLY_ODT_To != null) .ToList(); var depts = new List <VW_OA_DEPT>(); var types = new List <SYS_CODE>(); using (DB_INTRAEntities dbINTRA = new DB_INTRAEntities()) { depts = dbINTRA.VW_OA_DEPT.AsNoTracking().Where(x => x.DPT_CD != null).ToList(); } types = db.SYS_CODE.AsNoTracking().Where(x => x.CODE != null).ToList(); foreach (var Stockdata in _IRD.OrderBy(x => x.MARGIN_DEP_TYPE).ThenBy(x => x.ITEM_ID).ThenBy(x => x.BOOK_NO).ThenBy(x => x.PUT_DATE).ThenBy(x => x.CHARGE_DEPT).ThenBy(x => x.CHARGE_SECT)) { var _CHARGE_DEPT = getEmpName(depts, Stockdata.CHARGE_DEPT); var _CHARGE_SECT = !_CHARGE_DEPT.IsNullOrWhiteSpace() ? getEmpName(depts, Stockdata.CHARGE_SECT)?.Replace(_CHARGE_DEPT, "")?.Trim() : null; ReportData = new DepositReportMargingData() { MARGIN_DEP_TYPE = getMDTtype(types, Stockdata.MARGIN_DEP_TYPE), ITEM_ID = Stockdata.ITEM_ID, BOOK_NO = Stockdata.BOOK_NO, PUT_DATE = Stockdata.PUT_DATE.dateTimeToStr(), CHARGE_DEPT = _CHARGE_DEPT, CHARGE_SECT = !_CHARGE_SECT.IsNullOrWhiteSpace() ? _CHARGE_SECT : null, TRAD_PARTNERS = Stockdata.TRAD_PARTNERS, AMOUNT = Stockdata.AMOUNT, WORKPLACE_CODE = Stockdata.WORKPLACE_CODE, DESCRIPTION = Stockdata.DESCRIPTION, MEMO = Stockdata.MEMO, CHARGE_DEPT_ID = Stockdata.CHARGE_DEPT, CHARGE_SECT_ID = Stockdata.CHARGE_SECT }; ReportDataList.Add(ReportData); } } resultsTable.Tables.Add(ReportDataList.ToDataTable()); return(resultsTable); }
public override DataSet GetData(List <reportParm> parms) { //報表資料 List <DepositReportITEMIMPData> ReportDataList = new List <DepositReportITEMIMPData>(); var resultsTable = new DataSet(); var ReportData = new DepositReportITEMIMPData(); string vdept = parms.Where(x => x.key == "vdept").FirstOrDefault()?.value ?? string.Empty; string vsect = parms.Where(x => x.key == "vsect").FirstOrDefault()?.value ?? string.Empty; string JobProject = parms.Where(x => x.key == "vJobProject").FirstOrDefault()?.value ?? string.Empty; string APLY_DT_From = parms.Where(x => x.key == "APLY_DT_From").FirstOrDefault()?.value ?? string.Empty; //庫存日期 string APLY_ODT_From = parms.Where(x => x.key == "APLY_ODT_From").FirstOrDefault()?.value ?? string.Empty; string APLY_ODT_To = parms.Where(x => x.key == "APLY_ODT_To").FirstOrDefault()?.value ?? string.Empty; using (TreasuryDBEntities db = new TreasuryDBEntities()) { var _APLY_DT = TypeTransfer.stringToDateTime(APLY_DT_From).DateToLatestTime(); var _APLY_DT_Date = _APLY_DT.Date; var dtn = DateTime.Now.Date; var _APLY_ODT_From = TypeTransfer.stringToDateTimeN(APLY_ODT_From); var _APLY_ODT_To = TypeTransfer.stringToDateTimeN(APLY_ODT_To).DateToLatestTime(); //int TOTAL= 0; INVENTORY_STATUSs.AddRange(new List <string>() { ((int)AccessInventoryType._5).ToString(), //預約取出,計庫存 ((int)AccessInventoryType._6).ToString(), //已被取出,計庫存 ((int)AccessInventoryType._9).ToString() }); //預約存入,計庫存 var _II = db.ITEM_IMPO.AsNoTracking() //判斷是否在庫 .Where(x => INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS), _APLY_DT_Date == dtn) .Where(x => (INVENTORY_STATUSs.Contains(x.INVENTORY_STATUS) && x.PUT_DATE <= _APLY_DT) // 在庫 且 存入日期 <= 庫存日期 || (x.INVENTORY_STATUS == INVENTORY_STATUSg && x.PUT_DATE <= _APLY_DT && _APLY_DT < x.GET_DATE), //存入日期 <= 庫存日期 且 庫存日期 < 取出日期 _APLY_DT_Date != dtn) .Where(x => x.CHARGE_DEPT == vdept, vdept != "All") .Where(x => x.CHARGE_SECT == vsect, vsect != "All") .Where(x => x.PUT_DATE >= _APLY_ODT_From, _APLY_ODT_From != null) .Where(x => x.PUT_DATE <= _APLY_ODT_To, _APLY_ODT_To != null) .ToList(); var depts = new List <VW_OA_DEPT>(); var types = new List <SYS_CODE>(); using (DB_INTRAEntities dbINTRA = new DB_INTRAEntities()) { depts = dbINTRA.VW_OA_DEPT.AsNoTracking().Where(x => x.DPT_CD != null).ToList(); } types = db.SYS_CODE.AsNoTracking().Where(x => x.CODE != null).ToList(); if (_APLY_DT_Date != dtn) { List <string> Item_IDs = _II.Select(x => x.ITEM_ID_FROM == null ? x.ITEM_ID : x.ITEM_ID_FROM).Distinct().ToList(); List <ITEM_IMPO> ITEM_IMPOs = db.ITEM_IMPO.AsNoTracking().Where(x => Item_IDs.Contains(x.ITEM_ID)).ToList(); List <ITEM_IMPO> GetITEM_IMPOs = db.ITEM_IMPO.AsNoTracking() .Where(x => x.ITEM_ID_FROM != null && Item_IDs.Contains(x.ITEM_ID_FROM) && _APLY_DT > x.GET_DATE).ToList(); //取出日 < 庫存日,之前取出 foreach (var item in ITEM_IMPOs) { var _CHARGE_DEPT = getEmpName(depts, item.CHARGE_DEPT); var _CHARGE_SECT = getEmpName(depts, item.CHARGE_SECT)?.Replace(_CHARGE_DEPT, "")?.Trim(); ReportData = new DepositReportITEMIMPData() { ITEM_ID = item.ITEM_ID, PUT_DATE = item.PUT_DATE.dateTimeToStr(), CHARGE_DEPT = _CHARGE_DEPT, CHARGE_SECT = _CHARGE_SECT, ITEM_NAME = item.ITEM_NAME, QUANTITY = GetQUANTITY(item, GetITEM_IMPOs), AMOUNT = item.AMOUNT, EXPECTED_ACCESS_DATE = item.EXPECTED_ACCESS_DATE.dateTimeToStr(), DESCRIPTION = item.DESCRIPTION, MEMO = item.MEMO, CHARGE_DEPT_ID = item.CHARGE_DEPT, CHARGE_SECT_ID = item.CHARGE_SECT }; ReportDataList.Add(ReportData); } } else { foreach (var item in _II) { var _CHARGE_DEPT = getEmpName(depts, item.CHARGE_DEPT); var _CHARGE_SECT = getEmpName(depts, item.CHARGE_SECT)?.Replace(_CHARGE_DEPT, "")?.Trim(); ReportData = new DepositReportITEMIMPData() { ITEM_ID = item.ITEM_ID, PUT_DATE = item.PUT_DATE.dateTimeToStr(), CHARGE_DEPT = _CHARGE_DEPT, CHARGE_SECT = _CHARGE_SECT, ITEM_NAME = item.ITEM_NAME, QUANTITY = item.REMAINING, AMOUNT = item.AMOUNT, EXPECTED_ACCESS_DATE = item.EXPECTED_ACCESS_DATE.dateTimeToStr(), DESCRIPTION = item.DESCRIPTION, MEMO = item.MEMO, CHARGE_DEPT_ID = item.CHARGE_DEPT, CHARGE_SECT_ID = item.CHARGE_SECT }; ReportDataList.Add(ReportData); } } } resultsTable.Tables.Add(ReportDataList .OrderBy(x => x.ITEM_ID) .ThenBy(x => x.PUT_DATE) .ThenBy(x => x.CHARGE_DEPT_ID) .ThenBy(x => x.CHARGE_SECT_ID) .ToList().ToDataTable()); return(resultsTable); }