Ejemplo n.º 1
0
        //建立預算下載表格
        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);
        }
Ejemplo n.º 2
0
        /// <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());
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        //由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();
        }
Ejemplo n.º 6
0
        //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));
        }
Ejemplo n.º 7
0
        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());
        }
Ejemplo n.º 8
0
        //比價功能資料頁
        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());
        }
Ejemplo n.º 9
0
        // 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());
        }
Ejemplo n.º 10
0
        ///詢價單管理頁面
        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));
        }
Ejemplo n.º 11
0
        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));
        }
Ejemplo n.º 12
0
        /// <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();
        }
Ejemplo n.º 13
0
        //費用單查詢
        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));
        }
Ejemplo n.º 14
0
        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();
        }
Ejemplo n.º 15
0
        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"));
        }
Ejemplo n.º 16
0
        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));
        }