Ejemplo n.º 1
0
        //取消
        public String CancelForm(FormCollection form)
        {
            Flow4CompanyExpense wfs = new Flow4CompanyExpense();

            wfs.task = (ExpenseTask)Session["process"];
            SYS_USER u = (SYS_USER)Session["user"];

            wfs.Cancel(u);
            return(wfs.Message);
        }
Ejemplo n.º 2
0
        //退件
        public String RejectForm(FormCollection form)
        {
            //取得表單資料 from Session
            Flow4CompanyExpense wfs = new Flow4CompanyExpense();

            wfs.task = (ExpenseTask)Session["process"];
            SYS_USER u = (SYS_USER)Session["user"];

            wfs.Reject(u, null, form["RejectDesc"]);
            return(wfs.Message);
        }
Ejemplo n.º 3
0
        //顯示單一公司營業費用單/工地費用單功能
        public ActionResult SingleEXPForm(string id)
        {
            logger.Info("http get mehtod:" + id);
            OperatingExpenseModel singleForm = new OperatingExpenseModel();
            Flow4CompanyExpense   wfs        = new Flow4CompanyExpense();

            service.getEXPByExpId(id);
            singleForm.finEXP      = service.formEXP;
            singleForm.finEXPItem  = service.EXPItem;
            singleForm.planEXPItem = service.siteEXPItem;

            logger.Info("get process request by dataId=" + id);
            wfs.getTask(id);
            wfs.getRequest(id);
            wfs.task.FormData = singleForm;

            Session["process"] = wfs.task;
            return(View(wfs.task));
        }
Ejemplo n.º 4
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.º 5
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.º 6
0
        //送審、通過
        public String SendForm(FormCollection f)
        {
            logger.Info("http get mehtod:" + f["EXP_FORM_ID"]);
            Flow4CompanyExpense wfs = new Flow4CompanyExpense();

            wfs.task = (ExpenseTask)Session["process"];
            logger.Info("Data In Session :" + wfs.task.FormData.finEXP.EXP_FORM_ID);

            SYS_USER u           = (SYS_USER)Session["user"];
            DateTime?paymentdate = null; //DateTime can not set null
            string   desc        = null;

            if (f["paymentdate"].ToString() != "")
            {
                paymentdate = Convert.ToDateTime(f["paymentdate"].ToString());
            }
            if (null != f["RejectDesc"] && f["RejectDesc"].ToString() != "")
            {
                desc = f["RejectDesc"].ToString().Trim();
            }

            wfs.Send(u, paymentdate, desc);
            return("更新成功!!");
        }
Ejemplo n.º 7
0
        public ActionResult AddExpense(FIN_EXPENSE_FORM ef, FormCollection form)
        {
            //新增公司費用申請單
            logger.Info("form:" + form.Count);
            string[] lstSubject = form.Get("subjectid").Split(',');
            //可處理千分位符號!!
            string[] lstAmount   = (string[])form.GetValue("input_amount").RawValue;
            string[] lstPrice    = (string[])form.GetValue("unit_price").RawValue;
            string[] lstRemark   = form.Get("item_remark").Split(',');
            string[] lstUnit     = form.Get("unit").Split(',');
            string[] lstQty      = form.Get("item_quantity").Split(',');
            string[] SubjectList = form.Get("subjectlist").Split(',');
            logger.Debug("SubjectList = " + SubjectList);
            //建立公司/工地費用單號
            logger.Info("create new Operating Expense Form");
            if (null != form["projectid"] || form["projectid"] != "")
            {
                ef.PROJECT_ID = form["projectid"];
            }
            SYS_USER uInfo = (SYS_USER)Session["user"];

            if (null != Request["paymentdate"] && "" != Request["paymentdate"])
            {
                ef.PAYMENT_DATE = Convert.ToDateTime(Request["paymentdate"]);
            }
            ef.OCCURRED_YEAR  = int.Parse(Request["paymentdate"].Substring(0, 4));
            ef.OCCURRED_MONTH = int.Parse(Request["paymentdate"].Substring(5, 2));
            ef.CREATE_DATE    = DateTime.Now;
            ef.CREATE_ID      = uInfo.USER_ID;
            ef.REMARK         = Request["remark"];
            ef.PAYEE          = Request["supplier"];
            ef.STATUS         = 10;
            string fid = service.newExpenseForm(ef);
            //建立公司/工費用單明細
            List <FIN_EXPENSE_ITEM> lstItem = new List <FIN_EXPENSE_ITEM>();

            for (int j = 0; j < lstSubject.Count(); j++)
            {
                FIN_EXPENSE_ITEM item = new FIN_EXPENSE_ITEM();
                item.FIN_SUBJECT_ID = SubjectList[int.Parse(lstSubject[j])];
                item.ITEM_REMARK    = lstRemark[j];
                item.ITEM_UNIT      = lstUnit[j];
                if (lstAmount[j].ToString() == "")
                {
                    item.AMOUNT = null;
                }
                else
                {
                    item.AMOUNT = decimal.Parse(lstAmount[j]);
                }
                if (lstPrice[j].ToString() == "")
                {
                    item.ITEM_UNIT_PRICE = null;
                }
                else
                {
                    item.ITEM_UNIT_PRICE = decimal.Parse(lstPrice[j]);
                }
                if (lstQty[j].ToString() == "")
                {
                    item.ITEM_QUANTITY = null;
                }
                else
                {
                    item.ITEM_QUANTITY = decimal.Parse(lstQty[j]);
                }
                logger.Info("Operating Expense Subject =" + item.FIN_SUBJECT_ID + ", and Amount = " + item.AMOUNT);
                item.EXP_FORM_ID = fid;
                logger.Debug("Item EX form id =" + item.EXP_FORM_ID);
                lstItem.Add(item);
            }
            int i = service.AddExpenseItems(lstItem);

            //建立公司費用申請參考流程
            if (null == form["projectid"] || form["projectid"] == "")
            {
                Flow4CompanyExpense flowService = new Flow4CompanyExpense();
                logger.Debug("Item Count =" + i);
                flowService.iniRequest(uInfo, fid);
            }
            else
            {
                //建立工地費用申請參考流程
                Flow4SiteExpense flowService = new Flow4SiteExpense();
                logger.Debug("Item Count =" + i);
                flowService.iniRequest(uInfo, fid);
            }
            return(Redirect("SingleEXPForm?id=" + fid));
        }