//建立預算下載表格 public string exportExcel(List <SummaryDailyReport> _dailyReport) { //1.讀取費用表格檔案 InitializeWorkbook(expenseFile); if (null != _dailyReport) { dailyReport = _dailyReport; sheet = (XSSFSheet)hssfworkbook.GetSheet("日報彙整表"); PlanService s = new PlanService(); p = s.getProject(_dailyReport[0].PROJECT_ID); //填寫檔頭 writeHead(); //寫入估驗明細資料 writeEstimateItem(); //4.另存新檔至專案所屬目錄 (增加Temp for zip 打包使用 string fileLocation = null; fileLocation = outputPath + "\\" + dailyReport[0].PROJECT_ID + "\\" + dailyReport[0].PROJECT_ID + "_" + dailyReport[0].REPORT_START_DATE.Value.ToString("yyyyMM") + "_施工日報.xlsx"; var file = new FileStream(fileLocation, FileMode.Create); log.Info("new file name =" + file.Name + ",path=" + file.Position); hssfworkbook.Write(file); file.Close(); return(fileLocation); } return(null); }
/// <summary> /// 設定標單品項查詢條件 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult ManageProjectItem(string id) { //傳入專案編號, InquiryFormService service = new InquiryFormService(); logger.Info("start project id=" + id); //取得專案基本資料fc TND_PROJECT p = service.getProjectById(id); ViewBag.id = p.PROJECT_ID; ViewBag.projectName = p.PROJECT_NAME; SelectListItem empty = new SelectListItem(); empty.Value = ""; empty.Text = ""; List <SelectListItem> selectMain = UtilService.getMainSystem(id, service); // selectMain.Add(empty); ViewBag.SystemMain = selectMain; List <SelectListItem> selectSub = UtilService.getSubSystem(id, service); //selectSub.Add(empty); ViewBag.SystemSub = selectSub; //設定查詢條件 return(View()); }
public ActionResult Details(string id) { log.Info("project detail page projectid = " + id); ViewBag.projectid = id; List <TND_TASKASSIGN> lstTask = null; TnderProjectService service = new TnderProjectService(); lstTask = service.getTaskByPrjId(id, null); TND_PROJECT p = service.getProjectById(id); TndProjectModels viewModel = new TndProjectModels(); var priId = service.getTaskAssignById(id); ViewBag.taskAssign = priId; viewModel.tndProject = p; if (null != priId) { viewModel.tndTaskAssign = lstTask; } //畫面上權限管理控制 //由Session 取得權限清單 // List<SYS_FUNCTION> lstFunctions = (List<SYS_FUNCTION>)Controller.Session["UserPrivige"]; UserService userservice = (UserService)Session["UserService"]; if (userservice.CheckPrivlege("F00003")) { @ViewBag.F00003 = ""; } else { @ViewBag.F00003 = "disable"; } return(View(viewModel)); }
public ActionResult Details(string id) { logger.Info("project detail page projectid = " + id); ViewBag.projectid = id; List <TND_TASKASSIGN> lstTask = null; TnderProjectService service = new TnderProjectService(); lstTask = service.getTaskByPrjId(id, null); TND_PROJECT p = service.getProjectById(id); TndProjectModels viewModel = new TndProjectModels(); var priId = service.getTaskAssignById(id); ViewBag.taskAssign = priId; viewModel.tndProject = p; if (null != priId) { viewModel.tndTaskAssign = lstTask; } //畫面上權限管理控制 //頁面上使用ViewBag 定義開關\@ViewBag.F00003 //由Session 取得權限清單 List <SYS_FUNCTION> lstFunctions = (List <SYS_FUNCTION>)Session["functions"]; //開關預設關閉 @ViewBag.F00003 = "disabled"; //輪巡功能清單,若全線存在則將開關打開 @ViewBag.F00003 = ""; foreach (SYS_FUNCTION f in lstFunctions) { if (f.FUNCTION_ID == "F00003") { @ViewBag.F00003 = ""; } } return(View(viewModel)); }
//由Excel 讀取資料 public void getDataFromExcel(string filpath, string projectId, string formId) { InitializeWorkbook(filpath); SetOpSheet("異動單"); //讀取專案資料 IRow row = sheet.GetRow(1); project = new TND_PROJECT(); project.PROJECT_ID = projectId; project.PROJECT_NAME = row.Cells[2].ToString(); logger.Debug("project id=" + project.PROJECT_ID + ",project name=" + project.PROJECT_NAME); //取得異動單資料 row = sheet.GetRow(2); costChangeForm = new PLAN_COSTCHANGE_FORM(); costChangeForm.PROJECT_ID = project.PROJECT_ID; costChangeForm.FORM_ID = formId; //檢查是否為新異動單 if (null == costChangeForm.FORM_ID || costChangeForm.FORM_ID == "") { costChangeForm.CREATE_USER_ID = user.USER_ID; costChangeForm.CREATE_DATE = DateTime.Now; } else { costChangeForm.MODIFY_USER_ID = user.USER_ID; costChangeForm.MODIFY_DATE = DateTime.Now; } //未送審前狀態不變 costChangeForm.STATUS = "新建立"; costChangeForm.REMARK_ITEM = row.Cells[3].ToString(); logger.Debug("FORM id=" + costChangeForm.FORM_ID); ConvertExcel2Object(); }
//POST:Create public ActionResult Create(String id) { logger.Info("get project for update:project_id=" + id); TND_PROJECT p = null; if (null != id) { TnderProjectService service = new TnderProjectService(); p = service.getProjectById(id); ViewBag.projectId = p.PROJECT_ID; } return(View(p)); }
public ActionResult Task(string id) { logger.Info("task assign page!!"); ViewBag.projectid = id; TnderProjectService service = new TnderProjectService(); TND_PROJECT p = service.getProjectById(id); ViewBag.projectName = p.PROJECT_NAME; SYS_USER u = (SYS_USER)Session["user"]; ViewBag.createid = u.USER_ID; return(View()); }
//比價功能資料頁 public ActionResult ComparisonMain(string id) { //傳入專案編號, log.Info("start project id=" + id); //取得專案基本資料fc TND_PROJECT p = service.getProjectById(id); ViewBag.id = p.PROJECT_ID; ViewBag.projectName = p.PROJECT_NAME; SelectListItem empty = new SelectListItem(); empty.Value = ""; empty.Text = ""; //取得主系統資料 List <SelectListItem> selectMain = new List <SelectListItem>(); foreach (string itm in service.getSystemMain(id)) { log.Debug("Main System=" + itm); SelectListItem selectI = new SelectListItem(); selectI.Value = itm; selectI.Text = itm; if (null != itm && "" != itm) { selectMain.Add(selectI); } } // selectMain.Add(empty); ViewBag.SystemMain = selectMain; //取得次系統資料 List <SelectListItem> selectSub = new List <SelectListItem>(); foreach (string itm in service.getSystemSub(id)) { log.Debug("Sub System=" + itm); SelectListItem selectI = new SelectListItem(); selectI.Value = itm; selectI.Text = itm; if (null != itm && "" != itm) { selectSub.Add(selectI); } } //selectSub.Add(empty); ViewBag.SystemSub = selectSub; //設定查詢條件 return(View()); }
// GET: 下載工率excel表格 public ActionResult Index(string id, FormCollection form) { log.Info("get project item :projectid=" + id); //取得專案基本資料 ViewBag.projectid = id; service.getProjectId(id); WageFormToExcel poi = new WageFormToExcel(); poi.exportExcel(service.wageTable, service.wageTableItem); TND_PROJECT p = service.getProjectById(id); ViewBag.projectName = p.PROJECT_NAME; return(View()); }
///詢價單管理頁面 public ActionResult InquiryMainPage(string id) { log.Info("queryInquiry by projectID=" + id + ",status=" + Request["status"]); InquiryFormModel formData = new InquiryFormModel(); if (null != id && id != "") { ViewBag.projectid = id; TND_PROJECT p = service.getProjectById(id); ViewBag.projectName = p.PROJECT_NAME; formData.tndTemplateProjectForm = service.getFormTemplateByProject(id); formData.tndProjectFormFromSupplier = service.getFormByProject(id, Request["status"]); } return(View(formData)); }
public ActionResult SearchEXP() { string id = Request["id"]; string status = Request["status"]; if (id != null && id != "") { TND_PROJECT p = service.getProjectById(id); ViewBag.projectName = p.PROJECT_NAME; ViewBag.projectid = id; } SelectList LstStatus = new SelectList(SystemParameter.getSystemPara("ExpenseForm"), "KEY_FIELD", "VALUE_FIELD"); ViewData.Add("status", LstStatus); Flow4CompanyExpense s = new Flow4CompanyExpense(); List <ExpenseFlowTask> lstEXP = s.getCompanyExpenseRequest(Request["occurred_date"], Request["subjectname"], Request["expid"], id, status); ViewBag.SearchResult = "共取得" + lstEXP.Count + "筆資料"; return(View("ExpenseForm", lstEXP)); }
/// <summary> /// 下載異動單資料 /// </summary> /// <param name="project"></param> public void createExcel(TND_PROJECT project) { InitializeWorkbook(); SetOpSheet("異動單"); //填寫專案資料 IRow row = sheet.GetRow(1); row.Cells[1].SetCellValue(project.PROJECT_ID); row.Cells[2].SetCellValue(project.PROJECT_NAME); //填入明細資料 //ConverObjectTotExcel(lstItem, 4); //令存新檔至專案所屬目錄 outputFile = strUploadPath + "\\" + project.PROJECT_ID + "\\" + project.PROJECT_ID + "-CostChange.xlsx"; logger.Debug("export excel file=" + outputFile); var file = new FileStream(outputFile, FileMode.Create); logger.Info("output file=" + file.Name); hssfworkbook.Write(file); file.Close(); }
//費用單查詢 public ActionResult ExpenseForm(string id) { if (id != null && id != "") { TND_PROJECT p = service.getProjectById(id); ViewBag.projectName = p.PROJECT_NAME; ViewBag.projectid = id; } else { id = ""; ViewBag.projectid = ""; } //取得表單狀態參考資料 SelectList status = new SelectList(SystemParameter.getSystemPara("ExpenseForm"), "KEY_FIELD", "VALUE_FIELD"); ViewData.Add("status", status); Flow4CompanyExpense s = new Flow4CompanyExpense(); List <ExpenseFlowTask> lstEXP = s.getCompanyExpenseRequest(Request["occurred_date"], Request["subjectname"], Request["expid"], id, null); return(View(lstEXP)); }
public void createExcel(TND_PROJECT project, PLAN_COSTCHANGE_FORM form, List <PLAN_COSTCHANGE_ITEM> lstItem) { InitializeWorkbook(); SetOpSheet("異動單"); //填寫專案資料 IRow row = sheet.GetRow(1); row.Cells[1].SetCellValue(project.PROJECT_ID); row.Cells[2].SetCellValue(project.PROJECT_NAME); //填入異動單資料 row = sheet.GetRow(2); row.Cells[1].SetCellValue(form.FORM_ID); row.Cells[3].SetCellValue(form.REMARK_ITEM); //填入明細資料 ConverObjectTotExcel(lstItem, 4); //令存新檔至專案所屬目錄 outputFile = strUploadPath + "\\" + project.PROJECT_ID + "\\" + project.PROJECT_ID + "-" + form.FORM_ID + "_CostChange.xlsx"; logger.Debug("export excel file=" + outputFile); var file = new FileStream(outputFile, FileMode.Create); logger.Info("output file=" + file.Name); hssfworkbook.Write(file); file.Close(); }
public ActionResult uploadPlanItem(TND_PROJECT prj, HttpPostedFileBase file) { //1.取得專案編號 string projectid = Request["projectid"]; logger.Info("Upload plan items for projectid=" + projectid); TnderProjectService service = new TnderProjectService(); SYS_USER u = (SYS_USER)Session["user"]; string message = ""; //修改專案狀態 prj.PROJECT_ID = projectid; prj.STATUS = "專案執行"; prj.PROJECT_NAME = Request["projectname"]; prj.ENG_NAME = Request["engname"]; prj.CONTRUCTION_NAME = Request["contructionname"]; prj.LOCATION = Request["location"]; prj.OWNER_NAME = Request["ownername"]; prj.CONTACT_NAME = Request["contactname"]; prj.CONTACT_TEL = Request["contecttel"]; prj.CONTACT_FAX = Request["contactfax"]; prj.CONTACT_EMAIL = Request["contactemail"]; prj.DUE_DATE = Convert.ToDateTime(Request["duedate"]); prj.SCHDL_OFFER_DATE = Convert.ToDateTime(Request["schdlofferdate"]); if (Request["starrowno"] != null || " " != Request["starrowno"]) { prj.START_ROW_NO = int.Parse(Request["starrowno"]); } //prj.WAGE_MULTIPLIER = decimal.Parse(Request["wage"]); prj.EXCEL_FILE_NAME = Request["excelfilename"]; prj.OWNER_USER_ID = Request["owneruserid"]; prj.CREATE_USER_ID = Request["createdid"]; prj.CREATE_DATE = Convert.ToDateTime(Request["createddate"]); prj.MODIFY_USER_ID = u.USER_ID; prj.MODIFY_DATE = DateTime.Now; service.updateProject(prj); message = "專案進入執行階段:" + prj.PROJECT_ID + "<br/>"; if (null != file && file.ContentLength != 0) { //2.解析Excel logger.Info("Parser Excel data:" + file.FileName); //2.1 將上傳檔案存檔 var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(ContextService.strUploadPath + "/" + projectid, fileName); logger.Info("save excel file:" + path); file.SaveAs(path); //2.2 解析Excel 檔案 ProjectItemFromExcel poiservice = new ProjectItemFromExcel(); poiservice.InitializeWorkbook(path); poiservice.ConvertDataForPlan(projectid); //2.3 記錄錯誤訊息 message = message + "得標標單品項:共" + poiservice.lstPlanItem.Count + "筆資料,"; message = message + "<a target=\"_blank\" href=\"/Plan/ManagePlanItem?id=" + projectid + "\"> 標單明細檢視畫面單</a><br/>" + poiservice.errorMessage; // < button type = "button" class="btn btn-primary" onclick="location.href='@Url.Action("ManagePlanItem","Plan", new { id = @Model.tndProject.PROJECT_ID})'; ">標單明細</button> //2.4 logger.Info("Delete PLAN_ITEM By Project ID"); service.delAllItemByPlan(); //2.5 logger.Info("Add All PLAN_ITEM to DB"); service.refreshPlanItem(poiservice.lstPlanItem); } TempData["result"] = message;//Plan/ManagePlanItem/P00023 //return RedirectToAction() return(RedirectToAction("ManagePlanItem/" + projectid, "Plan")); }
public ActionResult Create(TND_PROJECT prj, HttpPostedFileBase file) { logger.Info("create project process! project =" + prj.ToString()); TnderProjectService service = new TnderProjectService(); SYS_USER u = (SYS_USER)Session["user"]; string message = ""; //1.更新或新增專案基本資料 if (prj.PROJECT_ID == "" || prj.PROJECT_ID == null) { //新增專案 prj.CREATE_USER_ID = u.USER_ID; prj.OWNER_USER_ID = u.USER_ID; prj.CREATE_DATE = DateTime.Now; service.newProject(prj); message = "建立專案:" + service.project.PROJECT_ID + "<br/>"; } else { //修改專案基本資料 prj.MODIFY_USER_ID = u.USER_ID; prj.MODIFY_DATE = DateTime.Now; service.updateProject(prj); message = "專案基本資料修改:" + prj.PROJECT_ID + "<br/>"; } //若使用者有上傳標單資料,則增加標單資料 if (null != file && file.ContentLength != 0) { //2.解析Excel logger.Info("Parser Excel data:" + file.FileName); //2.1 設定Excel 檔案名稱 prj.EXCEL_FILE_NAME = file.FileName; //2.2 將上傳檔案存檔 var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(ContextService.strUploadPath + "/" + prj.PROJECT_ID, fileName); logger.Info("save excel file:" + path); file.SaveAs(path); try { //2.2 解析Excel 檔案 ProjectItemFromExcel poiservice = new ProjectItemFromExcel(); poiservice.InitializeWorkbook(path); poiservice.ConvertDataForTenderProject(prj.PROJECT_ID, (int)prj.START_ROW_NO); //2.3 記錄錯誤訊息 message = message + "標單品項:共" + poiservice.lstProjectItem.Count + "筆資料,"; message = message + "<a target=\"_blank\" href=\"/Tender/ManageProjectItem?id=" + prj.PROJECT_ID + "\"> 標單明細檢視畫面單</a><br/>" + poiservice.errorMessage; // < button type = "button" class="btn btn-primary" onclick="location.href='@Url.Action("ManageProjectItem","Tender", new { id = @Model.tndProject.PROJECT_ID})'; ">標單明細</button> //2.4 logger.Info("Delete TND_PROJECT_ITEM By Project ID"); service.delAllItemByProject(); //2.5 logger.Info("Add All TND_PROJECT_ITEM to DB"); service.refreshProjectItem(poiservice.lstProjectItem); } catch (Exception ex) { logger.Error("Error Message:" + ex.Message + "." + ex.StackTrace); message = ex.Message; } } ViewBag.projectId = service.project.PROJECT_ID; ViewBag.result = message; return(View(service.project)); }